C and C++ Binaries


BADFUNC.PATH.AFXLOADLIBRARY : AfxLoadLibraryの使用

要旨

ファイル名の引数が安全に定義されていない時、パスのなりすましに対して脆弱な AfxLoadLibrary() を使用しています。

プロパティ

クラス名 Use of AfxLoadLibrary
日本語クラス名 AfxLoadLibraryの使用
クラス分類 スタイル (style)
ニーモニック BADFUNC.PATH.AFXLOADLIBRARY
カテゴリー
CWE CWE:676 Use of Potentially Dangerous Function
CERT-C CERT-C:WIN00-C Be specific when dynamically loading libraries
DISA-3r10 DISA-3r10:V-6157 The designer will ensure the application does not contain invalid URL or path references.
BSI BSI:AfxLoadLibrary  
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 += allow class="Use of AfxLoadLibrary"
全ての BSI 固有の BADFUNC クラスを含む BSI 関連クラスを有効にするには、 bsi 設定プリセットを使用してください。

解決法

HINSTANCE AFXAPI AfxLoadLibrary(LPCTSTR lpszModuleName)

lpszModuleName 引数が信頼できるソースからの(ファイル拡張子を含む)パス名であることを確認してください。

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

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

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

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