CVE-2026-12261
Full vulnerability record from the local CVENow database.
Description
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.
View original CVE JSON
{
"id": "CVE-2026-12261",
"sourceIdentifier": "[email protected]",
"published": "2026-08-07T07:16:26.377",
"lastModified": "2026-10-23T21:10:00.157",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "Una vulnerabilidad en “nltk.downloader” en versiones de nltk/nltk menor o igual que 3.9.4 permite el envenenamiento de recursos y modelos entre paquetes. El descargador extrae archivos de paquetes en espacios de nombres compartidos como “corpora/” y “taggers/” en lugar de raíces aisladas por paquete, y valida la integridad del paquete solo después de que el archivo ha sido escrito y extraído. Este fallo de diseño permite que un paquete sobrescriba los recursos confiables de otro paquete dentro del mismo espacio de nombres, haciendo que los cambios estén inmediatamente activos a través de las API ordinarias de NLTK. Este problema persiste a través de reinicios limpios del intérprete y puede afectar los flujos de trabajo posteriores, incluyendo las tuberías de aprendizaje automático y entornos sensibles a la reproducibilidad."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "nltk",
"product": "nltk/nltk",
"versions": [
{
"version": "unspecified",
"lessThanOrEqual": "latest",
"versionType": "custom",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.8,
"impactScore": 3.6
}
],
"cvssMetricV30": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.0",
"vectorString": "CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 1.6,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-07T15:25:29.448356Z",
"id": "CVE-2026-12261",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-284"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*",
"versionEndIncluding": "3.9.4",
"matchCriteriaId": "61FCC90A-0162-444E-922A-DDFBD189AD71"
}
]
}
]
}
],
"references": [
{
"url": "https://huntr.com/bounties/8b8c381e-08a8-4e4f-bb46-a320c96a364f",
"source": "[email protected]",
"tags": [
"Permissions Required"
]
},
{
"url": "https://huntr.com/bounties/8b8c381e-08a8-4e4f-bb46-a320c96a364f",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Permissions Required"
]
}
]
}