Skip to content
Heist/ feed
Back to feed
High

NLTK before 3.10.3 Entity Expansion DoS via ElementTree

Type: advisorySources: OSV

NLTK versions before 3.10.3 use xml.etree.ElementTree to parse XML in multiple modules, which honors entity declarations in document DTDs. Attackers can craft XML payloads with nested entity declarations that expand from hundreds of bytes to megabytes in memory, causing denial of service.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-78681
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 02:13 UTC · Revision 1

Source evidence

NLTK before 3.10.3 Entity Expansion DoS via ElementTree

core-osv · Original source

Published 25 Aug 2026, 01:30 UTC

NLTK versions before 3.10.3 use xml.etree.ElementTree to parse XML in multiple modules, which honors entity declarations in document DTDs. Attackers can craft XML payloads with nested entity declarations that expand from hundreds of bytes to megabytes in memory, causing denial of service.

osv:CVE-2026-78681
Complete source record
{
  "id": "9861c501a0759c36c09ad619c4122f7cd453b1699f3329902b6a538a6dfa53b9",
  "url": "https://osv.dev/vulnerability/CVE-2026-78681",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "NLTK before 3.10.3 Entity Expansion DoS via ElementTree",
    "summary": "NLTK versions before 3.10.3 use xml.etree.ElementTree to parse XML in multiple modules, which honors entity declarations in document DTDs. Attackers can craft XML payloads with nested entity declarations that expand from hundreds of bytes to megabytes in memory, causing denial of service.",
    "evidence": "osv:CVE-2026-78681",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-78681",
      "aliases": [
        "CVE-2026-78681",
        "GHSA-97qj-x29f-37w7",
        "PYSEC-2026-3748"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/nltk/nltk",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "303f6e2ba8e4548a5f54fd65d86bb5c9a949f1db"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.10.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:nltk:nltk:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.10.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.10.2-rc1",
            "v3.10.2",
            "v3.10.1",
            "v.3.10.1",
            "v3.10.1-rc2",
            "v3.10.0-rc2",
            "v3.10.0",
            "v3.10.1-rc1",
            "v3.10.0-rc1",
            "3.9.4",
            "3.9.3",
            "v3.9.2",
            "3.9.2",
            "3.9.1",
            "3.9",
            "3.8.2",
            "3.8.1",
            "3.8",
            "3.7",
            "3.6.7",
            "3.6.6",
            "3.6.5",
            "3.6.2",
            "3.6.1",
            "3.6",
            "3.5",
            "3.5b1",
            "3.4.4",
            "3.4.3",
            "3.4.1",
            "3.4",
            "3.3",
            "3.2.5",
            "3.2.4",
            "3.2.3",
            "3.2.2",
            "3.2.1",
            "3.2",
            "3.1",
            "3.0.5",
            "3.0.4",
            "3.0.3",
            "3.0.2",
            "3.0.0b1",
            "3.0a4",
            "2.0.1rc4",
            "2.0.1rc3",
            "2.0.1rc2",
            "2.0.1rc1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-78681.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:32.515778858Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78681.json",
        "https://github.com/nltk/nltk/security/advisories/GHSA-97qj-x29f-37w7",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-78681",
        "https://www.vulncheck.com/advisories/nltk-before-entity-expansion-dos-via-elementtree"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-776"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/78xxx/CVE-2026-78681.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-78681",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 499571,
  "published_at": "2026-08-25T01:30:37.749+00:00"
}