CVE-2026-76844 in webpack-dev-middleware情報

要約

〜によって VulDB • 2026年08月24日

webpack-dev-middlewareは、getFilenameFromUrlにおいてリクエストパス名をトラバーサルガードでテストし、その後固定文字オフセットでスライスすることでローカルファイルへのリクエストを解決します。path.normalize(`./${pathname}`)に適用されるUP_PATH_REGEXPというガードは、「..」が完全なパスセグメントとして存在する場合のみ一致しますが、包含チェックは文字列比較の`pathname.startsWith(publicPathPathname)`であり、ファイルパスは`path.join(outputPath, pathname.slice(publicPathPathname.length))`として構築されます。設定されたpublicPathに末尾のスラッシュがない場合、GET /assets../.envのようなリクエストがpublicPath /assetsに対して行われると、そのパス名は/assets../.envとなり、「..」のみがセグメント「assets..」の内部にあるためガードを通過しますが、オフセットによるスライスは該当セグメント内で実行され、「../.env」がpath.joinに渡されてoutputPathの1つ上のディレクトリへ解決されます。このパスからファイルを読み込むには、ミドルウェアが物理ファイルシステムによってバックされている必要があり、writeToDiskがtrueの場合またはカスタム出力ファイルシステムが提供された場合に該当します(デフォルトのmemfsボリュームはビルド成果物のみを含むためです)。トラバーサルの深さは1ディレクトリに制限されています。これは、URL解析時に別々に区切られた「..」セグメントがガードの実行前に折りたたまれるためです。publicPathのデフォルト値である"auto"は"/"へ解決され、影響を受けません。これはCVE-2024-29180に対する不完全な修正です。このガードとオフセットスライスは当該修正によって導入されたものであり、5.3.4、6.1.2、7.1.0以降のすべてのリリースに含まれています。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

VulnCheck

予約する

2026年08月19日

モデレーション

承諾済み

エントリ

VDB-394673

EPSS

0.00000

アクティビティ

低い

ソース

Do you know our Splunk app?

Download it now for free!