Skip to main content
MEDIUM

CVE-2026-86000

CVSS v3

5.3

MEDIUM

EPSS Score

0.6 %

exploit probability, as of 2026-10-17

CISA KEV

No

known exploited

Exploitation

—

SSVC status

Get an alert for each new CVE published for soupsieve. Watch soupsieve in CVE Watch Free account · no credit card

Affected and fixed versions

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • soupsievePyPIall versions · fixed in 2.9.0

Vendor advisories

  • CVE-2026-86000 Red Hat Product Security98 known affected

    soupsieve: Soup Sieve: Denial of Service via crafted CSS selectors

    exploit-intelligence/vulnerability-analysis-rhel9 as a component of Exploit Intelligence · lightspeed-core/rag-tool-cpu-rhel9 as a component of Lightspeed Core · lightspeed-core/rag-tool-cuda-12.9-rhel9 as a component of Lightspeed Core

Full record on NVD

Description

Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 2.9, the selector parser in src/soupsieve/css_parser.py defines IDENTIFIER with adjacent quantified groups over overlapping character classes, and VALUE embeds IDENTIFIER for attribute selectors. When an attacker-controlled selector contains a long identifier or unquoted attribute-value run followed by input that makes the overall match fail, the regular expression engine explores quadratically many splits between the overlapping groups. User-controlled selectors can reach this path through soupsieve.compile(), soupsieve.select(), or BeautifulSoup.select(), while applications using only hard-coded selectors are unaffected. The resulting CPU consumption can hold the Python GIL, exhaust application workers, and stall a service; successful plain identifier matches are linear, and the issue does not cause memory corruption or code execution. The issue is fixed in version 2.9.

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Published
2026-09-17
Last Modified
2026-09-17

Frequently asked questions

What is CVE-2026-86000?

Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4. Prior to 2.9, the selector parser in src/soupsieve/css_parser.py defines IDENTIFIER with adjacent quantified groups over overlapping character classes, and VALUE embeds IDENTIFIER for attribute selectors. When an attacker-controlled selector contains a long identifier or unquoted attribute-value run followed by input that makes the overall match fail, the regular expression engine explores quadratically many splits between the overlapping groups. User-controlled selectors can reach this path through soupsieve.compile(), soupsieve.select(), or BeautifulSoup.select(), while applications using only hard-coded selectors are unaffected. The resulting CPU consumption can hold the Python GIL, exhaust application workers, and stall a service; successful plain identifier matches are linear, and the issue does not cause memory corruption or code execution. The issue is fixed in version 2.9.

Is CVE-2026-86000 actively exploited?

Active exploitation of CVE-2026-86000 has not been confirmed. Its EPSS score was 0.6% on 2026-10-17, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2026-86000?

CVE-2026-86000 has a CVSS v3 base score of 5.3 (MEDIUM severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L.

Running soupsieve? Hear about its next vulnerability

CVE Watch matches each new CVE to the vendors and products you list (vendor and product, not the version) and puts it in your alerts with its KEV and EPSS status.

Already have an account? Open CVE WatchNo credit card required · 50 free checks/month · Free API key