Asayomu Tech
注目★★★★★GitHub Advisory

NLTK にパストラバーサル脆弱性、パーセント符号化で任意ファイル読み取り可能

30秒で把握

  • 1NLTK の nltk.data.load() にパストラバーサル脆弱性、パーセント符号化 (%2e%2e) で安全チェック回避可能
  • 2デコード前に安全性チェック実施で、%2e%2e などの複数パターンが .. に統一・任意ファイル読み取り可能
  • 3修正は unquote() でデコード後にバリデーション実施、NLTK 使用コードの入力検証とライブラリ更新を確認推奨

要約

NLTK の nltk.data.load() と nltk.data.find() にパストラバーサル脆弱性が存在する。url2pathname() がパーセント符号化シーケンス (%2e%2e など) をデコードする際、デコード前に安全性チェックを行うため、%2e%2e を使うと.. に変換後のチェック回避が可能だ。攻撃者は NLTK データディレクトリの外にある任意ファイルを読み取れる。修正は unquote() でデコードしてからバリデーションを行うことで、パーセント符号化ペイロード (%2e%2e /.%2e / %2E%2E など複数パターン) が全て同一の../ シーケンスに変換される点を事前に検証すれば回避できる。

あなたへの影響

NLTK を使用するアプリケーションやシステムは。

推奨:直ちに修正版への更新を確認し、ユーザー入力を resource_name に直接渡していないかコードレビューを実施すべき。

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

関連する記事

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