UNKNOWNCVE-2025-7783

form-dataが境界を選択する際に、form-data内で安全でない乱数関数を使用

プラットフォーム

nodejs

コンポーネント

form-data

修正バージョン

2.5.4

### 概要 form-dataは、multipart form-encodedデータの境界値を選択するために`Math.random()`を使用しています。攻撃者が以下の条件を満たす場合、セキュリティ上の問題につながる可能性があります。 1. ターゲットアプリケーションでMath.randomによって生成された他の値を観察できる 2. form-dataを使用して作成されたリクエストの1つのフィールドを制御できる Math.random()の値は疑似乱数であり予測可能であるため(参照:https://blog.securityevaluators.com/hacking-the-javascript-lottery-80cc437e3b7f)、いくつかの連続した値を観察できる攻撃者は、PRNGの状態を特定し、form-dataの境界値を生成するために使用される値を含む、将来の値を予測できます。これにより、攻撃者は境界値を含む値を細工し、リクエストに追加のパラメータを挿入できます。 これは、[`parrot409`](https://hackerone.com/parrot409?type=user)によって[最近`undici`で発見された](https://hackerone.com/reports/2913312)脆弱性とほぼ同じです。私はその研究者とは提携していませんが、功績は認めるべきです!私のPoCは主に彼らの研究に基づいています。 ### 詳細 問題のある箇所は次の行です:https://github.com/form-data/form-data/blob/426ba9ac440f95d1998dac9a5cd8d738043b048f/l

修正方法

公式パッチはありません。回避策を確認するか、アップデートを監視してください。

依存関係を自動的に監視

新しい脆弱性がプロジェクトに影響を与えたときにアラートを受け取りましょう。

無料で始める