CVE-2026-92932 in sachertortephp
要約
〜によって VulDB • 2026年09月17日
MISPのsachertortephpライブラリにおいて、lib/Cake/Utility/Xml.php内の`Xml::build()`静的メソッドには、ネットワークベースのXMLフェッチを制御する条件式に論理誤りがあります。元の条件は `$options['readFile'] && strpos($input, 'http://') === 0 || strpos($input, 'https://') === 0` と記述されていました。PHPにおいて `&&` 演算子は `||` よりも優先度が高いため、この式は `( $options['readFile'] && strpos($input, 'http://') === 0 ) || strpos($input, 'https://') === 0` として評価されます。その結果、呼び出し元がファイルおよびURLの読み込みを無効にするために `readFile` オプションを明示的に false に設定した場合でも、先頭が `https://` で始まる入力文字列は条件を満たし、最大10回のリダイレクトに従うように構成された HttpSocket を介してネットワークフェッチを引き起こします。`http://` ブランチは正しく `readFile` フラグによって制御されますが、`https://` ブランチはそうではありません。したがって、`Xml::build()` に渡される `$input` パラメータに影響を与えることができる攻撃者は、呼び出し元がすべてのリモート読み込みを抑制することを意図していたにもかかわらず、アプリケーションに対して攻撃者がコントロールするURLまたは内部URLへのアウトバウンドHTTPSリクエストを発行させることができます。フェッチされたレスポンスはXMLとして解析され、呼び出し元に返される可能性があり、これにより内部サービスや外部ターゲットからの情報漏洩が可能になります。これは情報開示を伴う Server-Side Request Forgery (SSRF) の脆弱性です。この脆弱性は、`Xml::build()` 内のコードパスが攻撃者がコントロールする入力によって到達可能であり、かつ `readFile` オプションが false に設定されている(または呼び出し元がそれが false であると想定している)場合に必要となります。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.