C and C++ Binaries


BADFUNC.PATH.SYSTEM : systemの使用

要旨

パスの引数が安全に定義されていない時、パスのなりすましに対して脆弱な system() もしくは _wsystem() を使用しています。

プロパティ

クラス名 Use of system
日本語クラス名 systemの使用
クラス分類 スタイル (style)
ニーモニック BADFUNC.PATH.SYSTEM
カテゴリー
MisraC2023 MisraC2023:21.21 The Standard Library function system of <stdlib.h> shall not be used
Misra2012 Misra2012:21.21 The Standard Library function system of <stdlib.h> shall not be used
Misra2004 Misra2004:20.11 The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used
AUTOSARC++14 AUTOSARC++14:M18-0-3 The library functions abort, exit, getenv and system from library <cstdlib> shall not be used.
MisraC++2008 MisraC++2008:18-0-3 The library functions abort, exit, getenv and system from library <cstdlib> shall not be used.
MisraC++2023 MisraC++2023:21.2.3 The Standard Library function system of <cstdlib> shall not be used
CWE CWE:676 Use of Potentially Dangerous Function
TS17961 TS17961:5.8-syscall 5.8. Calling system
CERT-C CERT-C:ENV33-C Do not call system()
JSF++ JSF++:24 The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used.
DISA-6r1 DISA-6r1:V-222604 The application must protect from command injection.
DISA-5r3 DISA-5r3:V-70261 The application must protect from command injection.
DISA-4r3 DISA-4r3:V-70261 The application must protect from command injection.
DISA-3r10 DISA-3r10:V-6157 The designer will ensure the application does not contain invalid URL or path references.
  DISA-3r10:V-16810 The designer will ensure the application does not allow command injection.
OWASP-2017 OWASP-2017:A1 Injection
OWASP-2021 OWASP-2021:A3 Injection
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of system"

解決法

int system(const char *command)
int _wsystem(const wchar_t *command)

command 引数が信頼されるソースからの絶対パス名である事を確認してください。

問題がないことを確認できた場合は、ワーニングの stateSuppressed (抑制)に変更して除外することができます。

関連のある設定ファイルパラメータ

このクラスは一般テンプレート設定ファイルで BAD_FUNCTION_* ルールセットによって実装されています。

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。