Gptline: NLTK: JVM argument injection bypass via per-call options in the NLTK Stanford wrappers (incomplete fix of CVE-2026-12841) (CVE-2026-79675)
CVE-2026-79675 is a critical vulnerability in the NLTK Stanford Java wrappers where JVM argument injection can bypass the previous fix for CVE-2026-12841. The vulnerability arises because the per-call java() function accepts unvalidated JVM options, allowing dangerous flags to be passed directly to the JVM. This affects four Stanford wrapper classes that accept user-supplied java_options without validation. Exploitation could allow arbitrary code execution via malicious JVM flags. A patch is available that adds validation to the per-call options path.
AI Analysis
Technical Summary
The vulnerability in NLTK's Stanford Java wrappers stems from incomplete validation of JVM options. While the global configuration path (config_java()) validates and blocks dangerous JVM flags such as -agentlib, -agentpath, -javaagent, -Xrunjdwp, and @argfile, the per-call java() function introduced in a prior fix does not perform this validation. Four wrapper classes (GenericStanfordParser, StanfordTagger, StanfordTokenizer, and StanfordSegmenter) accept user-supplied java_options and pass them through the unvalidated per-call path, effectively bypassing the earlier fix. This allows an attacker controlling java_options to inject arbitrary JVM flags, potentially leading to arbitrary code execution. The recommended fix is to add _validate_java_options() call within the java() function for per-call options.
Potential Impact
If exploited, an attacker who can control the java_options parameter in any of the affected NLTK Stanford wrapper classes can inject arbitrary JVM flags. This includes loading malicious native agents or Java agents, enabling remote debugging, or expanding argument files to smuggle malicious flags. Such actions can lead to arbitrary code execution on the host running the NLTK service. This is particularly impactful in deployments where java_options are derived from untrusted user input or configuration sources.
Mitigation Recommendations
A patch is available that adds validation of JVM options in the per-call java() function, closing the bypass. Users should update to the fixed version of NLTK that includes this patch. Until patched, avoid passing untrusted input to the java_options parameter of the affected Stanford wrapper classes. Do not rely solely on config_java() for JVM option validation, as it does not cover per-call options.
Gptline: NLTK: JVM argument injection bypass via per-call options in the NLTK Stanford wrappers (incomplete fix of CVE-2026-12841) (CVE-2026-79675)
Description
CVE-2026-79675 is a critical vulnerability in the NLTK Stanford Java wrappers where JVM argument injection can bypass the previous fix for CVE-2026-12841. The vulnerability arises because the per-call java() function accepts unvalidated JVM options, allowing dangerous flags to be passed directly to the JVM. This affects four Stanford wrapper classes that accept user-supplied java_options without validation. Exploitation could allow arbitrary code execution via malicious JVM flags. A patch is available that adds validation to the per-call options path.
CVSS v3.1
Score 9.8critical
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in NLTK's Stanford Java wrappers stems from incomplete validation of JVM options. While the global configuration path (config_java()) validates and blocks dangerous JVM flags such as -agentlib, -agentpath, -javaagent, -Xrunjdwp, and @argfile, the per-call java() function introduced in a prior fix does not perform this validation. Four wrapper classes (GenericStanfordParser, StanfordTagger, StanfordTokenizer, and StanfordSegmenter) accept user-supplied java_options and pass them through the unvalidated per-call path, effectively bypassing the earlier fix. This allows an attacker controlling java_options to inject arbitrary JVM flags, potentially leading to arbitrary code execution. The recommended fix is to add _validate_java_options() call within the java() function for per-call options.
Potential Impact
If exploited, an attacker who can control the java_options parameter in any of the affected NLTK Stanford wrapper classes can inject arbitrary JVM flags. This includes loading malicious native agents or Java agents, enabling remote debugging, or expanding argument files to smuggle malicious flags. Such actions can lead to arbitrary code execution on the host running the NLTK service. This is particularly impactful in deployments where java_options are derived from untrusted user input or configuration sources.
Mitigation Recommendations
A patch is available that adds validation of JVM options in the per-call java() function, closing the bypass. Users should update to the fixed version of NLTK that includes this patch. Until patched, avoid passing untrusted input to the java_options parameter of the affected Stanford wrapper classes. Do not rely solely on config_java() for JVM option validation, as it does not cover per-call options.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- BREW-gptline-CVE-2026-79675
- Osv Schema Version
- 1.7.3
- Ecosystems
- ["Homebrew"]
- Cvss Version
- 3.1
Threat ID: 6aac8e5a55bf5e2cf5491af8
Added to database: 09/18/2026, 01:05:30 UTC
Last enriched: 09/18/2026, 01:51:33 UTC
Last updated: 09/18/2026, 01:51:33 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.