Skip to content
Fencer Vulns
high 7.5

CVE-2026-81722 json

nltk PorterStemmer before 3.10.3 Quadratic-time DoS

published 2026-08-27 2 mo ago modified 2026-09-10 1 mo ago also GHSA-ww6m-cw3f-q94g , PYSEC-2026-3738 , EUVD-2026-67072

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 44%
public exploits
0
none known

Summary

nltk PorterStemmer in versions <= 3.10.2 (fixed in 3.10.3) contains an inefficient-algorithmic-complexity denial of service in PorterStemmer.stem(). The _is_consonant() helper walks backward over the entire run of trailing 'y' characters on every call, and _measure() invokes it for each stem position, causing O(n^2) behavior. A single ~20-50 KB untrusted token consisting of a long run of the letter 'y' followed by a matching suffix (e.g., 'ness') can pin a CPU core for seconds to minutes, causing availability impact.

Patch / fix

  • pypi nltk 3.10.3
  • nltk nltk 3.10.3
  • nltk Debian 14 3.10.3-1

debian advisories DEBIAN-CVE-2026-81722

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-81722 updated cvss 7.5

nltk: nltk PorterStemmer: Denial of Service due to inefficient token processing

  • Red Hat Exploit Intelligence exploit-intelligence-tech-preview/vulnerability-analysis-rhel9
    affected: workaround, no fix planned “Will not fix”
  • Red Hat Lightspeed Core lightspeed-core/rag-tool-cpu-rhel9, lightspeed-core/lightspeed-stack-rhel9, lightspeed-core/rag-tool-cuda-12.9-rhel9 Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-service-api-rhel9
    affected: workaround, no fix available
  • Red Hat Ansible Automation Platform 2 ansible-automation-platform-25/lightspeed-chatbot-rhel8
    affected: workaround, no fix planned “Will not fix”
  • Red Hat OpenShift AI (RHOAI) rhoai/odh-ogx-core-rhel9
    affected: workaround, no fix available
  • Red Hat OpenShift AI 2.25 rhoai/odh-ta-lmes-job-rhel9 1791553527, rhoai/odh-llama-stack-core-rhel9 1791873747, rhoai/odh-pipeline-runtime-pytorch-llmcompressor-cuda-py312-rhel9 1791867208, rhoai/odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-rhel9 1791867189
    fixed: vendor fix RHSA-2026:87410
  • Red Hat OpenShift AI 3.3 rhoai/odh-llama-stack-core-rhel9 1789121286
    fixed: vendor fix RHSA-2026:73987
  • Red Hat OpenShift AI 3.4 rhoai/odh-ta-lmes-job-rhel9 1791470318, rhoai/odh-llama-stack-core-rhel9 1790958470, rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9 1791785804, rhoai/odh-trustyai-nemo-guardrails-server-rhel9 1791556128
    fixed: vendor fix RHSA-2026:84734
  • Red Hat OpenShift AI 3.5 rhoai/odh-ta-lmes-job-rhel9 1788935863, rhoai/odh-trustyai-garak-lls-provider-dsp-rhel9 1791953275, rhoai/odh-trustyai-nemo-guardrails-server-rhel9 1791566631
    fixed: vendor fix RHSA-2026:69539
show 2 more
  • Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9, openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9
    not affected: vulnerable code not in execute path
  • Red Hat OpenShift AI 2.25 rhoai/odh-rhel9-operator 1792570619, rhoai/odh-vllm-cpu-rhel9 1792018436, rhoai/odh-dashboard-rhel9 1791853525, rhoai/odh-modelmesh-rhel9 1790881700, rhoai/odh-operator-bundle 1792571069, rhoai/odh-vllm-cuda-rhel9 1791358976, +62 more Red Hat OpenShift AI 3.3 rhoai/odh-cli-rhel9 1790070206, rhoai/rhai-cli-rhel9 1790070206, rhoai/odh-mlflow-rhel9 1789653606, rhoai/odh-trainer-rhel9 1790136369, rhoai/odh-maas-api-rhel9 1790131842, rhoai/odh-mlserver-rhel9 1789121365, +76 more Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1791509689, rhoai/rhai-cli-rhel9 1791509689, rhoai/odh-automl-rhel9 1791535789, rhoai/odh-mlflow-rhel9 1791865967, rhoai/odh-autorag-rhel9 1791557539, rhoai/odh-trainer-rhel9 1791869783, +96 more Red Hat OpenShift AI 3.5 rhoai/odh-cli-rhel9 1789525149, rhoai/odh-cli-rhel9 1791945905, rhoai/rhai-cli-rhel9 1789525149, rhoai/rhai-cli-rhel9 1791945905, rhoai/odh-automl-rhel9 1789363166, rhoai/odh-automl-rhel9 1791916705, +229 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
yes
Technical impact
partial
Assessed
2 mo ago

Exploit prediction

0.52% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/nltk/nltk/security/advisories/GHSA-ww6m-cw3f-q94g referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 4.0 8.7 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
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CNA 4.0 8.7 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Affected packages

ecosystem package affected fixed in
pypi nltk
<3.10.3
3.10.3

Affected products

  • nltk nltk

Classification

Weakness
  • CWE-407 Inefficient Algorithmic Complexity

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.