アーティクル - CS428345
Foundation.jar は、セキュリティ チェック プログラム (Verascan) によって「クラスまたはコードを選択するための外部制御入力の使用 (「安全でないリフレクション」)」としてフラグが付けられています。
修正日: 03-Oct-2024
適用対象
- Windchill Foundation & PDM 8.0
説明
クラスまたはコードを選択するための外部制御入力の使用(「安全でないリフレクション」)
java.lang.Class.forName wt/access/AccessControlHelper.java
65 25 void <クライアント>(void)
この java.lang.Class.forName() の呼び出しでは、安全でない方法でリフレクションを使用しています。攻撃者はインスタンス化するクラス名を指定できるため、アプリケーションに予期しない制御フロー パスが作成される可能性があります。リフレクションの使用方法によっては、攻撃ベクトルによって攻撃者がセキュリティ チェックをバイパスしたり、アプリケーションを予期しない方法で動作させたりする可能性があります。オブジェクトが指定されたインターフェイスを実装しておらず、ClassCastException がスローされた場合でも、信頼できないクラス名のコンストラクタはすでに実行されています。forName() の最初の引数には、汚染されたデータが含まれています。汚染されたデータは、以前の java.net.URLConnection.getInputStream の呼び出しから取得されました。クラス名をホワイト リストとブロック リストの組み合わせに対して検証し、予期される動作のみが生成されるようにしてください。
参考資料: CWE (https://cwe.mitre.org/data/definitions/470.html) OWASP (https://owasp.org/www-community/vulnerabilities/Unsafe_use_of_Reflection)
65 25 void <クライアント>(void)
この java.lang.Class.forName() の呼び出しでは、安全でない方法でリフレクションを使用しています。攻撃者はインスタンス化するクラス名を指定できるため、アプリケーションに予期しない制御フロー パスが作成される可能性があります。リフレクションの使用方法によっては、攻撃ベクトルによって攻撃者がセキュリティ チェックをバイパスしたり、アプリケーションを予期しない方法で動作させたりする可能性があります。オブジェクトが指定されたインターフェイスを実装しておらず、ClassCastException がスローされた場合でも、信頼できないクラス名のコンストラクタはすでに実行されています。forName() の最初の引数には、汚染されたデータが含まれています。汚染されたデータは、以前の java.net.URLConnection.getInputStream の呼び出しから取得されました。クラス名をホワイト リストとブロック リストの組み合わせに対して検証し、予期される動作のみが生成されるようにしてください。
参考資料: CWE (https://cwe.mitre.org/data/definitions/470.html) OWASP (https://owasp.org/www-community/vulnerabilities/Unsafe_use_of_Reflection)
最新バージョンはこちらを参照ください CS428345