CVE-2026-0846: 
Python vulnerability analysis and mitigation

Overview

CVE-2026-0846 is an arbitrary file read vulnerability in the filestring() function of the nltk.util module in the Natural Language Toolkit (NLTK) Python library. The flaw affects NLTK version 3.9.2 and allows attackers to read arbitrary files from the host system by supplying unsanitized absolute or traversal paths as input. It was first reported on March 9, 2026, via Red Hat Bugzilla and disclosed publicly through the huntr.com bug bounty platform. The vulnerability carries a CVSS v3.1 base score of 7.5 (High), with no authentication required and network-level exploitability (Red Hat CVE, Red Hat Bugzilla).

Technical details

The root cause is classified as CWE-36 (Absolute Path Traversal). The filestring() function in nltk.util directly opens files using user-supplied path arguments without any input validation or sanitization, allowing attackers to specify absolute paths (e.g., /etc/passwd) or directory traversal sequences to access arbitrary files on the filesystem. Exploitation is straightforward in any deployment where this function is exposed to user-controlled input — most critically in web APIs or services built on top of NLTK. A proof-of-concept exploit is publicly available via the huntr.com disclosure (huntr.com, Red Hat Bugzilla).

Impact

Successful exploitation allows an unauthenticated remote attacker to read arbitrary files from the server's filesystem, resulting in high confidentiality impact with no integrity or availability impact. Sensitive files such as credentials, configuration files, private keys, or application secrets could be exfiltrated, potentially enabling further lateral movement or privilege escalation. IBM products including QRadar Suite Software and watsonx Orchestrate with watsonx Assistant Cartridge are also affected as downstream consumers of the vulnerable NLTK library (Red Hat CVE, IBM QRadar Advisory, IBM watsonx Advisory).

Exploitability

A public proof-of-concept exploit is available on huntr.com, disclosed as of April 17, 2026. As of the latest available data, there is no evidence of active in-the-wild exploitation, and the vulnerability has not been added to the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.077%, indicating a currently low probability of exploitation in the near term. No specific threat actor attribution has been reported (huntr.com, Red Hat CVE).

Exploitation steps

  1. Reconnaissance: Identify web applications or APIs that use NLTK version 3.9.2 and expose functionality backed by the filestring() function to user-supplied input (e.g., via API endpoints accepting file path parameters).
  2. Craft malicious input: Prepare a payload containing an absolute path to a sensitive file (e.g., /etc/passwd, /etc/shadow, application config files, or SSH private keys) or a path traversal sequence (e.g., ../../../../etc/passwd).
  3. Submit payload: Send the crafted path as input to the vulnerable API endpoint or interface that internally calls nltk.util.filestring() with the user-supplied value.
  4. Retrieve file contents: The function opens and returns the contents of the specified file without validation; the attacker receives the sensitive file data in the application's response.
  5. Escalate: Use exfiltrated credentials, keys, or configuration data to pivot to other systems or escalate privileges within the environment (huntr.com, Red Hat Bugzilla).

Indicators of compromise

  • Network: Unusual HTTP requests to API endpoints with parameters containing absolute paths (e.g., /etc/passwd, /proc/self/environ) or traversal sequences (../, ..%2F); unexpected outbound data transfers from servers running NLTK-based applications.
  • Logs: Application or web server logs showing requests with file path parameters containing /etc/, /proc/, /var/, or repeated ../ sequences; error messages from the NLTK library referencing unexpected file paths.
  • File System: No direct file system artifacts are expected from read-only exploitation, but access logs for sensitive files (if auditing is enabled via auditd) may show unexpected reads by the application process user.
  • Process: The Python process running the NLTK application opening files outside the expected application directory, observable via auditd or eBPF-based monitoring tools.

Mitigation and workarounds

Organizations should update NLTK to a patched version beyond 3.9.2 as the primary remediation. If immediate patching is not possible, implement strict input validation and allowlist-based path sanitization for any application code that passes user-supplied input to filestring() or similar NLTK utility functions. Additionally, restrict the filesystem permissions of the user account running the NLTK application to limit access to sensitive files, and consider deploying the application in a containerized or sandboxed environment. IBM has released patches for affected products including QRadar Suite Software and watsonx Orchestrate (IBM QRadar Advisory, IBM watsonx Advisory, Red Hat CVE).

Community reactions

The vulnerability received coverage from security news outlets including The Hacker Wire and was discussed on Mastodon and Bluesky by security community members. Red Hat tracked the issue with high severity in their Bugzilla system, and ENISA registered it under EUVD-2026-10350. IBM issued security bulletins for multiple affected enterprise products. Community sentiment reflects moderate concern given the PoC availability and the library's widespread use in NLP and AI/ML pipelines (The Hacker Wire, Red Hat Bugzilla).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

nltk

Affected

sid

nltk: 3.9.3-1

Fixed

trixie

nltk

Affected

Ubuntu

Fixed

bionic (esm-apps)

nltk: 3.2.5-1ubuntu0.1+esm4

Fixed

devel

nltk

Not Affected

focal (esm-apps)

nltk: 3.4.5-2ubuntu0.1~esm4

Fixed

jammy

nltk

Affected

jammy (esm-apps)

nltk: 3.7-1ubuntu0.1~esm2

Fixed

noble

nltk

Affected

noble (esm-apps)

nltk: 3.8.1-1ubuntu0.1~esm2

Fixed

resolute

nltk

Affected

RHEL / CentOS

Unknown

Source: This report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-mpqx-q82w-9x46HIGH7.5
  • Python logoPython
  • graphql-core
NoYesOct 25, 2026
GHSA-4gm2-62xx-xwvxMEDIUM5.3
  • Python logoPython
  • aynops
NoYesOct 25, 2026
GHSA-jm75-qwf5-vg52MEDIUMN/A
  • Python logoPython
  • exmergo-dex-core
NoYesOct 25, 2026
GHSA-f3jf-cv9h-7c3gHIGHN/A
  • Python logoPython
  • exmergo-dex-core
NoYesOct 25, 2026
GHSA-28xv-9wpg-c42rHIGHN/A
  • Python logoPython
  • exmergo-dex-core
NoYesOct 25, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management