C and C++ Binaries


BADFUNC.TEMP.TMPNAM : tmpnamの使用

要旨

一時ファイル脆弱性に関連する tmpnam(), tmpnam_r(), _tmpnam(), _ttmpnam(), _wtmpnam(), tempnam(), _ttempnam(), _wtempnam(), GetTempFileName() が使用されています。

プロパティ

クラス名 Use of tmpnam
日本語クラス名 tmpnamの使用
クラス分類 セキュリティ (security)
ニーモニック BADFUNC.TEMP.TMPNAM
カテゴリー
CWE CWE:242 Use of Inherently Dangerous Function
  CWE:377 Insecure Temporary File
  CWE:676 Use of Potentially Dangerous Function
CERT-C CERT-C:CON33-C Avoid race conditions when using library functions
  CERT-C:FIO01-C Be careful using functions that use file names for identification
  CERT-C:FIO21-C Do not create temporary files in shared directories
OWASP-2017 OWASP-2017:A9 Using components with known vulnerabilities
OWASP-2021 OWASP-2021:A6 Vulnerable and outdated components
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Use of tmpnam"

解決法

セキュリティのリスクができるだけ最小化されているかを確認してください。

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

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

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

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