nltk: NLTK: Information disclosure via path traversal vulnerability
No data.
No data.
No data.
No data available yet.
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-m42h-3232-vpv3 | nltk: Arbitrary File Read via Path Traversal in nltk.data.load() through Percent-Encoded Sequences |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
No EPSS score available.
Key SSVC decision points have not yet been added.
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Path Traversal via Percent-Encoding in nltk.data.find() and nltk.data.load() | nltk: NLTK: Information disclosure via path traversal vulnerability |
| CPEs | ||
| Vendors & Products |
Nltk nltk
|
|
| Metrics |
cvssV3_0
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | NLTK version 3.9.4 is vulnerable to a path traversal attack due to an incomplete fix for GitHub Issue #3504. The `_UNSAFE_NO_PROTOCOL_RE` regex in `nltk/data.py` checks for literal `../` sequences but fails to account for percent-encoded traversal sequences such as `..%2f`. The `url2pathname()` function decodes these sequences after the validation step, allowing an attacker to bypass the protection. This vulnerability enables an attacker to read arbitrary files accessible to the Python process by controlling the resource name parameter passed to `nltk.data.load()` or `nltk.data.find()`. The issue affects applications that rely on NLTK for resource loading, including NLP web applications, Jupyter notebooks, and CLI tools. The default `pathsec.ENFORCE=False` setting exacerbates the impact by not blocking the file read at the `open()` stage. | This CVE ID has been rejected or withdrawn by its CVE Numbering Authority. |
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Nltk
Nltk nltk/nltk |
|
| Vendors & Products |
Nltk
Nltk nltk/nltk |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | NLTK version 3.9.4 is vulnerable to a path traversal attack due to an incomplete fix for GitHub Issue #3504. The `_UNSAFE_NO_PROTOCOL_RE` regex in `nltk/data.py` checks for literal `../` sequences but fails to account for percent-encoded traversal sequences such as `..%2f`. The `url2pathname()` function decodes these sequences after the validation step, allowing an attacker to bypass the protection. This vulnerability enables an attacker to read arbitrary files accessible to the Python process by controlling the resource name parameter passed to `nltk.data.load()` or `nltk.data.find()`. The issue affects applications that rely on NLTK for resource loading, including NLP web applications, Jupyter notebooks, and CLI tools. The default `pathsec.ENFORCE=False` setting exacerbates the impact by not blocking the file read at the `open()` stage. | |
| Title | Path Traversal via Percent-Encoding in nltk.data.find() and nltk.data.load() | |
| Weaknesses | CWE-22 | |
| References |
| |
| Metrics |
cvssV3_0
|