---
id: CVE-2026-12261
title: >-
  A vulnerability in `nltk.downloader` in nltk/nltk versions <= 3.9.4 allows for
  cross-package resource and model poisoning
summary: >-
  A vulnerability in `nltk.downloader` in nltk/nltk versions <= 3.9.4 allows for
  cross-package resource and model poisoning. The downloader extracts package
  archives into shared namespaces such as `corpora/` and `taggers/` instead of
  packa…
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N'
cwe:
  - CWE-284
  - CWE-367
vendor: nltk
product: nltk
affected:
  - nltk <= 3.9.4
published: '2026-08-07'
updated: '2026-09-04'
sourceUpdated: '2026-09-04T14:40:11.537'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-12261'
references:
  - url: 'https://huntr.com/bounties/8b8c381e-08a8-4e4f-bb46-a320c96a364f'
    label: security@huntr.dev
  - url: 'https://huntr.com/bounties/8b8c381e-08a8-4e4f-bb46-a320c96a364f'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-12261'
  - url: 'https://github.com/nltk/nltk/pull/3625'
  - url: >-
      https://github.com/nltk/nltk/commit/7a5740af89feeb739193db766e11e85dfe78339c
  - url: 'https://github.com/nltk/nltk/releases/tag/v3.10.0'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/nltk/PYSEC-2026-3954.yaml
  - url: 'https://github.com/advisories/GHSA-ffj6-66c4-86gw'
  - url: 'https://github.com/nltk/nltk'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-12261.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-12261'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2512413'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-12261'
tags:
  - nvd
  - cve.org
  - exploit-available
  - ghsa
  - pip
  - osv
  - csaf
  - vex
  - red-hat
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-08-07T15:25:29.448356Z'
scores:
  nvd: 6.5
  cna: 5.3
  ghsa: 5.3
  osv: 6.5
  vendor: 5.3
ingestedAt: '2026-09-13T12:16:14.875Z'
epss: 0.00211
epssPercentile: 0.11231
aliases:
  - GHSA-ffj6-66c4-86gw
  - PYSEC-2026-3954
ecosystem: pip
patched:
  - nltk 3.10.0
---

## Overview

A vulnerability in `nltk.downloader` in nltk/nltk versions <= 3.9.4 allows for cross-package resource and model poisoning. The downloader extracts package archives into shared namespaces such as `corpora/` and `taggers/` instead of package-isolated roots, and validates package integrity only after the archive has been written and extracted. This design flaw enables one package to overwrite another package's trusted resources within the same namespace, making the changes immediately active through ordinary NLTK APIs. This issue persists across fresh interpreter restarts and can affect downstream workflows, including machine learning pipelines and reproducibility-sensitive environments.

## Affected

- `nltk <= 3.9.4`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-12261)

Affected packages:

- `nltk < 3.10.0`

Patched in:

- `nltk 3.10.0`

Source: https://github.com/advisories/GHSA-ffj6-66c4-86gw

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Exploit Intelligence, Lightspeed Core, OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, Red Hat OpenShift AI (RHOAI) · no fix planned: Exploit Intelligence, Red Hat Ansible Automation Platform 2, Lightspeed Core, OpenShift Lightspeed, … · updated 2026-10-15 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-12261.json)
