CVE-2024-32962
不適切な署名検証に起因するXML署名検証のバイパス / 署名スプーフィング
- 公開済み
- 2024/05/02
- 更新済み
- 2025/02/13
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N低 · 今後 30 日間
- パーセンタイル
- 55.7%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
xml-crypto は、Node.js 向けの XML デジタル署名・暗号化ライブラリです。影響を受けるバージョンでは、デフォルト設定は署名者の認可をチェックせず、w3 xmldsig-core-20080610 仕様のセクション 3.2.2 に従って署名の有効性のみをチェックします。したがって、追加の検証手順なしでは、デフォルト設定により、悪意のある攻撃者が XML ドキュメントに再署名し、証明書を `<KeyInfo />` 要素に配置して、`xml-crypto` のデフォルト検証チェックを通過することができます。その結果、`xml-crypto` はデフォルトで、デジタル署名された XML ドキュメントの `<KeyInfo />` を介して提供される任意の証明書を信頼します。`xml-crypto` は、署名検証目的で特定の証明書(`publicCert`)を使用するようライブラリが設定されている場合でも、デジタル署名された XML ドキュメントの `<KeyInfo />` を介して提供される任意の証明書を使用することを優先します。攻撃者は、XML ドキュメントを変更し、既存の署名を(攻撃者が作成した)悪意のある秘密鍵で生成された署名に置き換え、その秘密鍵の証明書を `<KeyInfo />` 要素に添付することで、署名検証を偽装できます。この脆弱性は、プルリクエスト 301 / コミット `c2b83f98` で `4.0.0` に導入された変更の組み合わせであり、バージョン 6.0.0 でプルリクエスト 445 / コミット `21201723d` により対処されています。ユーザーはアップグレードすることをお勧めします。アップグレードできないユーザーは、検証結果を受け入れる前に、`getCertFromKeyInfo` を介して抽出された証明書を信頼済み証明書と照合するか、`xml-crypto's getCertFromKeyInfo` を `() => undefined` に設定して、署名検証に明示的に設定された `publicCert` または `privateKey` を使用するよう `xml-crypto` に強制することができます。
ソース
1CVE-2024-32962を悪用してSAMLメッセージを偽造し、不正な権限を取得する攻撃をシミュレートし、脆弱性の影響を示します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。