CVE-2026-66393: NLTK before 3.9.4 Denial of Service via JSONTaggedDecoder

Published Aug 22, 2026
·
Updated

NLTK versions before 3.9.4 contain an unbounded recursion vulnerability in JSONTaggedDecoder.decodeobj() that allows attackers to cause denial of service by supplying deeply nested JSON structures. Attackers can craft JSON payloads exceeding the recursion limit to trigger an unhandled RecursionError that crashes the Python process.

Affected Software

1 affected component
NLTK<3.9.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade NLTK to a version that resolves this vulnerability.

    Fixed in 3.9.4
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch Denial of Service via JSONTaggedDecoder

Event History

Aug 22, 2026
CVE Published
via MITRE·02:12 PM
Data Sourced
via MITRE·02:12 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·03:16 PM
DescriptionSeverityWeakness
Aug 19, 58611
Event
via NVD·11:08 PM

Frequently Asked Questions

1

Who is exposed to this denial-of-service issue?

Applications using an NLTK version before 3.9.4 are exposed if they pass attacker-controlled JSON data to JSONTaggedDecoder.decode_obj(). The vulnerable condition is triggered by deeply nested JSON structures.

2

What does an attacker need to exploit the issue?

An attacker needs only to supply a sufficiently deeply nested JSON payload to the affected decoder. No privileges or user interaction are required according to the supplied severity vector.

3

What is the impact when exploitation succeeds?

The nested payload can exceed Python's recursion limit and cause an unhandled RecursionError. This crashes the Python process, resulting in denial of service.

4

How can I determine whether my application is affected?

Check whether it uses NLTK before version 3.9.4 and whether untrusted JSON can reach JSONTaggedDecoder.decode_obj(). If both conditions apply, the application is affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203