---
id: CVE-2026-66393
title: >-
  NLTK versions before 3.9.4 contain an unbounded recursion vulnerability in
  JSONTaggedDecoder.decode_obj() that allows attackers to cause denial of
  service by supplying deeply nested JSON structures
summary: >-
  NLTK versions before 3.9.4 contain an unbounded recursion vulnerability in
  JSONTaggedDecoder.decode_obj() that allows attackers to cause denial of
  service by supplying deeply nested JSON structures. Attackers can craft JSON
  payloads exce…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-674
  - CWE-606
vendor: nltk
product: nltk
affected:
  - nltk < 3.9.4
patched:
  - nltk 3.9.4
published: '2026-08-22'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T13:10:00.187'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-66393'
references:
  - url: 'https://github.com/nltk/nltk/security/advisories/GHSA-rf74-v2fm-23pw'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/nltk-before-denial-of-service-via-jsontaggeddecoder
    label: disclosure@vulncheck.com
  - url: 'https://github.com/nltk/nltk/security/advisories/GHSA-rf74-v2fm-23pw'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-66393'
  - url: >-
      https://github.com/nltk/nltk/commit/00cdcd392142e6c745e7120c8d50a24127df5fad
  - url: 'https://github.com/nltk/nltk'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-3724.yaml
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-66393.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-66393'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2521342'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-66393'
tags:
  - nvd
  - osv
  - pip
  - csaf
  - vex
  - red-hat
epss: 0.00521
epssPercentile: 0.4405
aliases:
  - GHSA-rf74-v2fm-23pw
  - PYSEC-2026-3724
ecosystem: pip
ingestedAt: '2026-08-23T04:42:15.429Z'
---

## Overview

NLTK versions before 3.9.4 contain an unbounded recursion vulnerability in JSONTaggedDecoder.decode_obj() 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

- `nltk < 3.9.4`

## Remediation

Upgrade past the affected range:

- `nltk 3.9.4`

## Package advisory (CVE-2026-66393)

Affected packages:

- `nltk < 3.9.4`

Patched in:

- `nltk 3.9.4`

Source: https://osv.dev/vulnerability/GHSA-rf74-v2fm-23pw

## Vendor advisories

- **Red Hat VEX** · Important · affected: Red Hat Ansible Automation Platform 2 · no fix planned: Red Hat Ansible Automation Platform 2 · updated 2026-10-15 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-66393.json)
