REDHAT-BUG-2444608: Path Traversal
A vulnerability in NLTK versions up to and including 3.9.2 allows arbitrary file read via path traversal in multiple CorpusReader classes, including WordListCorpusReader, TaggedCorpusReader, and BracketParseCorpusReader. These classes fail to properly sanitize or validate file paths, enabling attackers to traverse directories and access sensitive files on the server. This issue is particularly critical in scenarios where user-controlled file inputs are processed, such as in machine learning APIs, chatbots, or NLP pipelines. Exploitation of this vulnerability can lead to unauthorized access to sensitive files, including system files, SSH private keys, and API tokens, and may potentially escalate to remote code execution when combined with other vulnerabilities.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
nltkto a version that resolves this vulnerability.Fixed in 3.9.2 - Compensating control
When using NLTK CorpusReader classes (including WordListCorpusReader, TaggedCorpusReader, and BracketParseCorpusReader), ensure the file path inputs are not derived from user-controlled data; only allow server-side controlled, pre-approved file paths to be processed.
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2444608?
The severity of REDHAT-BUG-2444608 is rated as high with a score of 7.
What does REDHAT-BUG-2444608 vulnerability affect?
REDHAT-BUG-2444608 affects NLTK versions up to and including 3.9.2, specifically in its CorpusReader classes.
How do I fix REDHAT-BUG-2444608?
To fix REDHAT-BUG-2444608, you should upgrade your NLTK library to a version later than 3.9.2 where the vulnerability is addressed.
What type of vulnerability is identified in REDHAT-BUG-2444608?
REDHAT-BUG-2444608 is identified as a Path Traversal vulnerability.
What can attackers achieve through REDHAT-BUG-2444608?
Attackers can use REDHAT-BUG-2444608 to perform arbitrary file read operations by exploiting unvalidated file paths in multiple CorpusReader classes.