Description
NLTK before 3.10.3 contains an uncontrolled recursion vulnerability in nltk.featstruct.FeatStructReader that allows unauthenticated attackers to cause a denial of service by supplying deeply nested feature-structure input. Attackers can craft trivial payloads with nested brackets that exceed Python's recursion limit and raise an unhandled RecursionError, crashing applications that parse user-supplied feature structures or feature grammars.
Published: 2026-08-27
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

The vulnerability arises from uncontrolled recursion in NLTK's FeatStructReader. An attacker can deliver input that includes deeply nested brackets, exceeding Python's recursion limit and causing a RecursionError. This error propagates without handling, forcing the application to crash and resulting in a denial of service.

Affected Systems

NLTK versions earlier than 3.10.3 are affected. The issue lives in the nltk library, so any application that imports nltk and uses FeatStructReader, such as parsers or grammars that consume user‑supplied feature‑structure data, may be impacted. The affected vendor is the NLTK project.

Risk and Exploitability

The CVSS score of 6.9 indicates moderate severity. The EPSS score of <1% suggests a very low probability of exploitation in the wild. The vulnerability is not listed in CISA’s KEV catalog. Because any user can supply malformed input, the attack is remote with no authentication required. Exploitation requires only that the target application process feature‑structure input; if the application invokes FeatStructReader, the attacker’s crafted payload will cause a RecursionError and crash the process. The result is a denial of service that can affect availability of the application or associated services.

Generated by OpenCVE AI on September 1, 2026 at 18:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to NLTK 3.10.3 or later.
  • Validate and sanitize all feature‑structure input before sending it to FeatStructReader.
  • If an upgrade is not immediately possible, raise the Python recursion limit carefully or wrap the parser to enforce a maximum nesting depth.

Generated by OpenCVE AI on September 1, 2026 at 18:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cw6x-m8jw-qmrh NLTK: Uncontrolled recursion in nltk.featstruct.FeatStructReader causes unhandled RecursionError (DoS) via deeply nested feature-structure input
History

Tue, 01 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-606
References
Metrics threat_severity

None

threat_severity

Important


Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 27 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Description NLTK before 3.10.3 contains an uncontrolled recursion vulnerability in nltk.featstruct.FeatStructReader that allows unauthenticated attackers to cause a denial of service by supplying deeply nested feature-structure input. Attackers can craft trivial payloads with nested brackets that exceed Python's recursion limit and raise an unhandled RecursionError, crashing applications that parse user-supplied feature structures or feature grammars.
Title NLTK before 3.10.3 Denial of Service via Uncontrolled Recursion
First Time appeared Nltk
Nltk nltk
Weaknesses CWE-674
CPEs cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*
Vendors & Products Nltk
Nltk nltk
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-27T18:29:04.021Z

Reserved: 2026-08-27T11:15:29.420Z

Link: CVE-2026-81724

cve-icon Vulnrichment

Updated: 2026-08-27T18:28:39.837Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-27T17:21:03.100

Modified: 2026-08-31T19:06:33.930

Link: CVE-2026-81724

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-27T14:51:17Z

Links: CVE-2026-81724 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T18:15:04Z

Weaknesses
  • CWE-606

    Unchecked Input for Loop Condition

  • CWE-674

    Uncontrolled Recursion