注目★★★★★GitHub Advisory
better-helperjs に文字列比較を悪用したディレクトリトラバーサル脆弱性
30秒で把握
- 1better-helperjs 3.0.5 以下で文字列プレフィックス比較によるパストラバーサル脆弱性が発見
- 2startsWith() での検証が構造パスを無視・隣接ディレクトリ名が同プレフィックスなら任意ファイル読取可能
- 3CVSS 7.5 (高) / 本番運用チームは 3.0.6 以上への早期更新と隣接ディレクトリの機密情報確認が必須
要約
better-helperjs 3.0.5 以下の本番環境静的ファイルサーバに、ディレクトリトラバーサル脆弱性が存在する。パス検証が String.prototype.startsWith() を使用しており、ディレクトリ構造ではなく単純な文字列比較を行うため、ルートディレクトリ名と同じプレフィックスを持つ隣接ディレクトリの任意ファイルを読取られる可能性がある。例えばルートが /app/dist/client の場合、/app/dist/client-secrets/ 配下のファイルにアクセス可能になる。CVSS スコアは 7.5 (高)。
あなたへの影響
better-helperjs を本番環境で使用している場合は、即座に 3.0.6 以上へのアップデートが必須。
推奨:パスの文字列比較による検証では構造的なディレクトリ検証が実装されていないため、念のため設定したルートディレクトリの隣接ディレクトリに機密ファイル (秘密鍵・DB クレデンシャル等) が存在しないか確認すべき。