English version →
カテゴリ
CVE-2026-65915 medium CVSS 6.5

nltk の脆弱性 (CVE-2026-65915)

概要

nltk に 脆弱性 (CVE-2026-65915) が存在。機密情報が外部に流出する可能性があります。False 経由で攻撃可能。対策: 3.10.0 以上に更新。

原文の説明

取得元が公開している説明をそのまま載せています (多くは英語)。

Summary

There's a logic bug in FileSystemPathPointer.open() inside nltk/data.py
that makes the sandbox check permanently inert. The guard condition is always
False — meaning any file the process can read is accessible by passing a
file:// URL to nltk.data.load().


Details

In nltk/data.py, FileSystemPathPointer.open() was patched at some point
with a comment saying "SECURITY PATCH ENFORCING SANDBOX", but the check
doesn't work:

def open(self, encoding=None):
    path = os.path.normpath(self._path)

    # Block raw absolute reads such as "/" "C:\\Windows" etc.
    if os.path.isabs(path) and path != os.path.normpath(self._path):
        raise ValueError(f"Direct absolute file access blocked: {path}")

    stream = open(self._path, "rb")

path is set to os.path.normpath(self._path) on line 1, then compared
against os.path.normpath(self._path) again in the condition. They are
always equal. The ValueError never fires.

On top of that, __init__ already calls os.path.abspath() before storing
self._path, so it's normalized before open() is even called. Running
normpath on it again changes nothing.

The stream = open(self._path, "rb") line is always reached regardless of
what path was passed in.


PoC

Tested on Python 3.11, NLTK 3.9.1, Ubuntu 22.04.

import nltk
from nltk.data import FileSystemPathPointer

# direct construction
ptr = FileSystemPathPointer("/etc/passwd")
with ptr.open() as f:
    print(f.re…

出典: GitHub Security Advisories (Global) NVD GitHub Advisory

自動生成の要約

取得元のデータ (CVSS・CWE・影響バージョンなど) から SecPulse が定型文で組み立てた要約です。AI は使っていません。正確な内容は下の原文と参照URLで確認してください。

nltk という製品で、CVE-2026-65915 という番号がついた弱点 (脆弱性) が見つかりました。
悪い人がインターネット越しに False のような特定の入り口を狙うことで、製品の中を不正に操作できてしまいます。
機密情報が外部に流出する可能性があります。重要度は CVSS スコア 6.5/10 です。
対策: nltk を 3.10.0 以上に更新してください。
心配なら、システム担当者や製品の公式サイトで「nltk CVE-2026-65915」を検索してください。

CVE-2026-65915 (nltk) — CWE-284 / CVSS v3 6.5
攻撃ベクター: ネットワーク経由 (リモート攻撃可) / 被害者操作不要
脆弱箇所: False / path / ValueError / __init__
修正バージョン: 3.10.0 (即時適用推奨)
対応方針: 1) SBOMで影響バージョン横断確認, 2) ステージング検証→本番更新, 3) WAF/プロキシで該当エンドポイントを監視, 4) ログでIOC調査。
参考: 当ページの『参照URL』の GHSA / vendor advisory / patched release を参照。

❓ 何が問題か

nltk に 脆弱性 (CWE-284) があります。攻撃者は False を経由して脆弱な処理に到達できます。

📍 影響範囲

nltk の影響バージョンはベンダーのアドバイザリで確認してください。攻撃箇所: False / path / ValueError / __init__。

🔥 重要度

重要度: 中 (CVSS 6.5/10)。機密情報が外部に流出する可能性があります。

🔧 修正方法

3.10.0 に更新してください。

🛡️ 暫定回避

修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。

🔍 検知方法

Webサーバ・プロキシ・WAFログで該当CVEのIOCに合致する不審リクエストを検索。SBOM/依存ファイルで影響バージョンを横断確認。

対応アクション

SOC/SREチームが順番に実行すべき具体的なステップとコマンド例

  1. 1
    影響範囲の特定 identify
    grep -r 'nltk' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で nltk を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    パッチ適用 patch
    Upgrade nltk to 3.10.0

    ステージング環境で 3.10.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  3. 3
    事後検証 verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

影響パッケージ

pip nltk
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.0"}]}]

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく