{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-54293","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-06-12T17:46:37.293Z","datePublished":"2026-06-22T17:25:05.611Z","dateUpdated":"2026-09-09T12:04:56.577Z"},"containers":{"cna":{"title":"NLTK: URL-Encoded Path Traversal in nltk.data.load() Allows Arbitrary Local File Read","problemTypes":[{"descriptions":[{"cweId":"CWE-22","lang":"en","description":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"name":"https://github.com/nltk/nltk/security/advisories/GHSA-p4gq-832x-fm9v","tags":["x_refsource_CONFIRM"],"url":"https://github.com/nltk/nltk/security/advisories/GHSA-p4gq-832x-fm9v"},{"name":"https://github.com/nltk/nltk/pull/3575","tags":["x_refsource_MISC"],"url":"https://github.com/nltk/nltk/pull/3575"}],"affected":[{"vendor":"nltk","product":"nltk","versions":[{"version":"< 3.10.0-rc1","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-06-22T17:25:05.611Z"},"descriptions":[{"lang":"en","value":"NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. Prior to 3.10.0-rc1, nltk.data.load() in NLTK is vulnerable to path traversal via URL-encoded path separators and traversal segments when using the nltk: URL scheme. The unsafe-path regex check is performed before url2pathname() decodes the %xx sequences (a classic decode-after-check / TOCTOU-style flaw), allowing an attacker to bypass the protection documented in NLTK's SECURITY.md and read arbitrary files from the filesystem. While literal traversal strings such as ../../../etc/passwd are correctly blocked, encoded variants such as %2fetc%2fpasswd, %2e%2e%2f..., and ..%2f..%2f slip past the regex and are subsequently decoded into a real filesystem path. This vulnerability is fixed in 3.10.0-rc1."}],"source":{"advisory":"GHSA-p4gq-832x-fm9v","discovery":"UNKNOWN"}},"adp":[{"references":[{"url":"https://github.com/nltk/nltk/security/advisories/GHSA-p4gq-832x-fm9v","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-22T21:18:34.399949Z","id":"CVE-2026-54293","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-06-22T21:18:59.775Z"}},{"affected":[{"collectionURL":"https://catalog.redhat.com/software/containers/","cpes":["cpe:/a:redhat:openshift_ai:2.25::el9"],"defaultStatus":"affected","packageName":"rhoai/odh-llama-stack-core-rhel9","product":"Red Hat OpenShift AI 2.25","vendor":"Red Hat","versions":[{"lessThan":"*","status":"unaffected","version":"1783701598","versionType":"rpm"}]},{"collectionURL":"https://catalog.redhat.com/software/containers/","cpes":["cpe:/a:redhat:openshift_ai:2.25::el9"],"defaultStatus":"affected","packageName":"rhoai/odh-ta-lmes-job-rhel9","product":"Red Hat OpenShift AI 2.25","vendor":"Red Hat","versions":[{"lessThan":"*","status":"unaffected","version":"1787330903","versionType":"rpm"}]},{"collectionURL":"https://catalog.redhat.com/software/containers/","cpes":["cpe:/a:redhat:openshift_ai:3.4::el9"],"defaultStatus":"affected","packageName":"rhoai/odh-llama-stack-core-rhel9","product":"Red Hat OpenShift AI 3.4","vendor":"Red Hat","versions":[{"lessThan":"*","status":"unaffected","version":"1786635926","versionType":"rpm"}]},{"collectionURL":"https://catalog.redhat.com/software/containers/","cpes":["cpe:/a:redhat:openshift_ai:3.4::el9"],"defaultStatus":"affected","packageName":"rhoai/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-rhel9","product":"Red Hat OpenShift AI 3.4","vendor":"Red Hat","versions":[{"lessThan":"*","status":"unaffected","version":"1787073459","versionType":"rpm"}]},{"collectionURL":"https://catalog.redhat.com/software/containers/","cpes":["cpe:/a:redhat:openshift_ai:3.4::el9"],"defaultStatus":"affected","packageName":"rhoai/odh-trustyai-nemo-guardrails-server-rhel9","product":"Red Hat OpenShift AI 3.4","vendor":"Red Hat","versions":[{"lessThan":"*","status":"unaffected","version":"1787330585","versionType":"rpm"}]},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:exploit_intelligence:0"],"defaultStatus":"affected","packageName":"exploit-intelligence-tech-preview/vulnerability-analysis-rhel9","product":"Exploit Intelligence","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:openshift_lightspeed"],"defaultStatus":"unaffected","packageName":"openshift-lightspeed/lightspeed-ocp-rag-rhel9","product":"OpenShift Lightspeed","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:openshift_lightspeed"],"defaultStatus":"unaffected","packageName":"openshift-lightspeed/lightspeed-service-api-rhel9","product":"OpenShift Lightspeed","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:openshift_lightspeed"],"defaultStatus":"unaffected","packageName":"openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9","product":"OpenShift Lightspeed","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:ansible_automation_platform:2"],"defaultStatus":"affected","packageName":"ansible-automation-platform-25/lightspeed-chatbot-rhel8","product":"Red Hat Ansible Automation Platform 2","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:openshift_ai"],"defaultStatus":"affected","packageName":"rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9","product":"Red Hat OpenShift AI (RHOAI)","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/a:redhat:openshift_ai"],"defaultStatus":"affected","packageName":"rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9","product":"Red Hat OpenShift AI (RHOAI)","vendor":"Red Hat"}],"datePublic":"2026-06-22T17:25:05.611Z","descriptions":[{"lang":"en","value":"A flaw was found in NLTK (Natural Language Toolkit). The `nltk.data.load()` function is vulnerable to path traversal when processing specially crafted `nltk:` URLs. An attacker can exploit a decode-after-check flaw, where URL-encoded path separators and traversal segments bypass security checks. This allows the attacker to read arbitrary files from the filesystem, leading to information disclosure."}],"metrics":[{"other":{"content":{"namespace":"https://access.redhat.com/security/updates/classification/","value":"Important"},"type":"Red Hat severity rating"}},{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"format":"CVSS"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-22","description":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","lang":"en","type":"CWE"}]}],"references":[{"tags":["vdb-entry","x_refsource_REDHAT"],"url":"https://access.redhat.com/security/cve/CVE-2026-54293"},{"name":"RHBZ#2491486","tags":["issue-tracking","x_refsource_REDHAT"],"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2491486"},{"tags":["x_sadp-csaf-vex"],"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-54293.json"},{"tags":["vendor-advisory","x_refsource_REDHAT"],"url":"https://access.redhat.com/errata/RHSA-2026:42644"},{"tags":["vendor-advisory","x_refsource_REDHAT"],"url":"https://access.redhat.com/errata/RHSA-2026:65126"},{"tags":["vendor-advisory","x_refsource_REDHAT"],"url":"https://access.redhat.com/errata/RHSA-2026:60520"}],"solutions":[{"lang":"en","value":"RHSA-2026:42644: Red Hat OpenShift AI 2.25"},{"lang":"en","value":"RHSA-2026:65126: Red Hat OpenShift AI 2.25"},{"lang":"en","value":"RHSA-2026:60520: Red Hat OpenShift AI 3.4"}],"timeline":[{"lang":"en","time":"2026-06-22T19:01:09.319Z","value":"Reported to Red Hat."},{"lang":"en","time":"2026-06-22T17:25:05.611Z","value":"Made public."}],"title":"nltk: NLTK: Information Disclosure via Path Traversal in `nltk.data.load()`","workarounds":[{"lang":"en","value":"Update the nltk package to version 3.10.0 or later when a stable release is available. Upstream has fixed this issue in 3.10.0-rc1.\n\nUntil updated builds are available, do not pass attacker-controlled resource identifiers to nltk.data.load() when using the nltk: URL scheme. Restrict NLTK data loading to trusted, application-controlled paths."}],"x_adpType":"supplier","x_generator":{"engine":"sadp-cli 1.0.0"},"providerMetadata":{"orgId":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c","shortName":"redhat-SADP","dateUpdated":"2026-09-09T12:04:56.577Z"}}]}}