Web Application
CVE-2026-78680 high CVSS 7.8

Vulnerability in nltk (CVE-2026-78680)

Summary

Vulnerability in nltk (CVE-2026-78680). Successful exploitation can lead to full system takeover. Exploitable via dot. Mitigation: upgrade to >=3.10.3 or later.

Original description

The description as published by the source.

Two NLTK sites executed the Graphviz dot program by bare name, so process creation resolved it via the search path — and on Windows via the current working directory — rather than a validated absolute location. An attacker who can place a file named dot where resolution looks (the CWD on Windows, or a writable/relative entry such as . on PATH) has their binary executed in place of Graphviz (arbitrary code execution).

Affected (<= 3.10.2):

  • nltk.parse.dependencygraph.dot2img — called find_binary("dot") but discarded the returned validated path and then ran the bare name ["dot", ...], so the validation had no effect.
  • nltk.translate.api.AlignedSent._repr_svg_ — ran the bare name with no validation at all (IPython SVG rendering).

This is the same class already fixed for the senna, weka, boxer, malt, repp and hunpos wrappers. nltk.internals.find_binary refuses a CWD-relative match for a bare tool name and returns only a trusted absolute path; the fix runs that path in both sites.


Attack demonstration

Captured output, not illustrative. A ./dot that writes a PWNED marker, planted in the CWD with . prepended to PATH.

The vulnerable behaviour (old bare-name exec):

Control (OLD behavior) — bare ['dot'] in this dir with '.' on PATH:
  bare ['dot'] executed planted binary = True

The patched functions refuse it:

FIXED code, with ./dot planted and '.' on PATH:
  dependencygraph.dot2img : Exception "Cannot find the dot binary..."…

Source: NIST National Vulnerability Database NVD GitHub Advisory

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

NLTKのバージョン3.10.3より前のものは、Graphviz dotバイナリを呼び出す際に絶対パスの検証を怠るため、攻撃者が任意のコードを実行できる脆弱性が存在します。特に、攻撃者は悪意のある dot バイナリを検索パスまたは現在の作業ディレクトリに置くことで、この脆弱性を悪用することが可能です。

❓ What is the problem

NLTKの古いバージョンでGraphviz dotバイナリを呼び出す際にパス検証が欠如していること。

📍 Affected scope

NLTKのバージョン3.10.3未満。

🔥 Severity

攻撃者が任意のコードを実行できるため重大。

🔧 How to fix

NLTKをバージョン3.10.3以上にアップデートする。

🛡️ Workaround

既知の回避策は特になし。

🔍 Detection

NLTKのバージョンを確認し、3.10.3未満であれば影響を受ける。

Affected packages

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

Fix status by distribution

Fixed packages published by each distribution for this CVE

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details