プラットフォーム
nodejs
コンポーネント
form-data
修正版
2.5.5
3.0.1
4.0.1
2.5.4
CVE-2025-7783は、form-dataライブラリにおける、multipart formデータの境界値の生成にMath.random()を使用することに起因する脆弱性です。攻撃者がMath.random()の出力を観察し、リクエストのフィールドを制御できる場合、PRNGの状態を予測し、境界値を推測できる可能性があります。この脆弱性はバージョン2.5.4で修正されました。
CVE-2025-7783 は、'form-data' ライブラリにおいて、multipart 形式でエンコードされたデータにおける境界 (boundary) の生成に Math.random() が使用されていることに起因します。攻撃者が、対象アプリケーション内で Math.random() によって生成される他の値を観察でき、かつ 'form-data' を使用して送信されるリクエストのフィールドを制御できる場合、重大なセキュリティリスクが生じます。 Math.random() の値は疑似乱数であり、予測可能である (https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f を参照) ため、いくつかの連続した値を観察できる攻撃者は、後続のリクエストで使用される境界を予測できる可能性があります。これにより、multipart リクエストの操作が可能になり、コードインジェクションやデータ改ざんにつながる可能性があります。
この脆弱性を悪用するには、アプリケーションの内部動作を深く理解し、HTTP リクエストを観察および操作する能力が必要です。攻撃者は、multipart リクエストのフィールドに影響を与え、同時に Math.random() によって生成される値を観察して境界を予測できる必要があります。悪用の成功は、攻撃者が Math.random() の観察とリクエストで使用される境界との相関関係を確立できるかどうかに依存します。悪用の複雑さは、アプリケーションのアーキテクチャと実装されているセキュリティ対策によって異なります。
エクスプロイト状況
EPSS
0.08% (23% パーセンタイル)
CISA SSVC
推奨される解決策は、'form-data' ライブラリをバージョン 2.5.4 以降に更新することです。このバージョンは、境界の生成に、より安全で予測不可能な方法を採用することで、脆弱性を修正しています。さらに、アプリケーションのコードをレビューして、機密性の高いコンテキストで Math.random() に依存している箇所がないか特定し、セキュリティが最優先事項である場合は、より堅牢な乱数生成の代替手段を検討してください。 ログと監視システムを実装することで、この脆弱性の悪用試行を検出するのに役立ちます。
Actualice la biblioteca form-data a la versión 2.5.4 o superior, o a una versión posterior a 3.0.3 o 4.0.3. Esto solucionará la vulnerabilidad de valores aleatorios insuficientes al elegir el límite, previniendo ataques de HTTP Parameter Pollution (HPP). Ejecute `npm install form-data@latest` o `yarn add form-data@latest` para obtener la versión más reciente.
脆弱性分析と重要アラートをメールでお届けします。
'form-data' は、JavaScript ライブラリであり、Web フォームを介してファイルアップロードや複雑なデータの送信によく使用される、multipart/form-data 形式でデータをエンコードする HTTP リクエストを簡素化します。
バージョン 2.5.4 は、CVE-2025-7783 脆弱性を修正しており、攻撃者が multipart/form-data リクエストで使用される境界を予測することを可能にし、リクエストの操作につながる可能性があります。
'form-data' のバージョンが 2.5.4 より古い場合、アプリケーションが脆弱になる可能性があります。プロジェクトの依存関係を確認し、ライブラリを更新してください。
はい、multipart/form-data リクエストを処理するための他の JavaScript ライブラリがありますが、そのセキュリティとニーズへの適合性を評価することが重要です。
'form-data' を更新することに加えて、堅牢な入力検証、データサニタイズ、セキュリティ監視を実装して、攻撃を検出し、防止することを検討してください。