Asayomu Tech
注目★★★★★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 クレデンシャル等) が存在しないか確認すべき。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。