CVE-2026-78680 json
NLTK before 3.10.3 Arbitrary Code Execution via Graphviz dot Binary
published 3mo ago modified 30d ago also EUVD-2026-65226 , GHSA-6hwm-xvph-95vm , PYSEC-2026-3868
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
NLTK versions before 3.10.3 fail to use validated absolute paths when invoking the Graphviz dot binary in dependencygraph.dot2img and AlignedSent._repr_svg_, allowing attackers to execute arbitrary code by placing a malicious dot binary in the search path or current working directory. Attackers can exploit bare-name binary resolution on Windows via the current working directory or on Unix-like systems via relative PATH entries to execute their binary instead of the legitimate Graphviz tool.
Patch / fix
Is CVE-2026-78680 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 2mo ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/nltk/nltk/security/advisories/GHSA-6hwm-xvph-95vm referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| OSV | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | nltk | <3.10.3 |
3.10.3 |
Affected products
- nltk nltk
Classification
References
-
github.com
/nltk/nltk/commit/1a3cd1764ab3deb084fb66d0ffb4873717659538
web
-
github.com
/nltk/nltk/security/advisories/GHSA-6hwm-xvph-95vm
vendor-advisory, exploit, web, advisory
-
vulncheck.com
/advisories/nltk-before-arbitrary-code-execution-via-graphviz-dot-binary
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-78680
advisory
-
github.com
/nltk/nltk
package
-
github.com
/nltk/nltk/releases/tag/v3.10.3
web
-
pypi.org
/project/nltk
package
-
github.com
/advisories/GHSA-6hwm-xvph-95vm
advisory
Sources
- CVE List CVE-2026-78680
- GitHub Advisory GHSA-6hwm-xvph-95vm
- NVD CVE-2026-78680
- OSV PYSEC-2026-3868
- Maintainer advisory GHSA-6hwm-xvph-95vm
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of nltk/nltk published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.