Impact
NLTK versions before 3.9.4 contain an unbounded recursion bug in JSONTaggedDecoder.decode_obj(). Attackers can supply deeply nested JSON structures that exceed Python’s recursion limit, triggering an unhandled RecursionError that crashes the interpreter process. The flaw does not provide a privilege escalation path but can completely halt services that depend on NLTK, resulting in a denial of service. The weakness is classified as CWE‑674, Uncontrolled Recursion.
Affected Systems
All users of the Python Natural Language Toolkit (NLTK) prior to release 3.9.4 are affected. The vulnerability applies to any installation where the vulnerable JSONTaggedDecoder is used to parse user‑supplied JSON data.
Risk and Exploitability
The CVSS score of 8.7 indicates a high severity, and the exploit requires the ability to deliver a crafted JSON payload to the NLTK decoder. While the EPSS score is currently unavailable, the lack of an official KEV listing does not mitigate the risk, as the flaw can be leveraged in any environment exposing the decoding functionality. Remediation is recommended as the threat is active and the potential for service disruption is significant.
OpenCVE Enrichment