CVE-2026-86000 json
Soup Sieve: Polynomial-time ReDoS (O(n²)) in the `IDENTIFIER` / `VALUE` selector sub-patterns
published 2026-09-17 52 d ago modified 2026-10-01 38 d ago also GHSA-gjv8-xp57-g29c , PYSEC-2026-4170 , EUVD-2026-81689
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi soupsieve 2.9.0
- python-soupsieve SLES for SAP applications 16.0, SLES 16.0 2.6-160000.5.1
- python-soupsieve SLE Module for Python 3 15 SP7 2.5-150600.3.6.1
suse advisories SUSE-SU-2026:24267-1SUSE-SU-2026:4365-1
- python-soupsieve openSUSE Leap 16.0 2.6-160000.5.1
- python-soupsieve openSUSE Tumbleweed 2.9.2-1.1
opensuse advisories openSUSE-SU-2026:22149-1openSUSE-SU-2026:11866-1
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-86000 updated cvss 5.9
soupsieve: Soup Sieve: Denial of Service via crafted CSS selectors
-
Red Hat Exploit Intelligence exploit-intelligence/vulnerability-analysis-rhel9 Red Hat Lightspeed Core lightspeed-core/rag-tool-cpu-rhel9, lightspeed-core/rag-tool-cuda-12.9-rhel9 Red Hat Migration Toolkit for Applications 8 mta/mta-solution-server-rhel9 Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9, openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9 Red Hat Ansible Automation Platform 2 ansible-automation-platform-25/lightspeed-chatbot-rhel8 Red Hat OpenShift AI (RHOAI) rhoai/odh-ogx-core-rhel9, rhoai/odh-th-torch-cpu-py312-rhel9, rhoai/odh-th-torch-cuda-py312-rhel9, rhoai/odh-th-torch-rocm-py312-rhel9, rhoai/odh-kserve-autogluon-server-rhel9, rhoai/odh-th06-cpu-torch291-py312-rhel9, +5 moreaffected: workaround, no fix available “No mitigation is currently available for this vulnerability. Users are advised to apply the security update when available.”
+5 more productsfewer
Red Hat OpenShift Container Platform 4 openshift4/ose-ironic-rhel9, openshift4/ose-olm-catalogd-rhel9, python-soupsieve 2.1.0-3.el9ocp.2 Red Hat OpenShift Container Platform 5 openshift5/ose-ironic-rhel9 Red Hat OpenShift Virtualization 4 container-native-virtualization/ocp-virt-validation-checkup-rhel9 Red Hat OpenStack Platform 17.1 python3-soupsieve, rhosp-rhel9/openstack-tempest, rhosp-rhel9/openstack-aodh-api, rhosp-rhel9/openstack-heat-all, rhosp-rhel9/openstack-heat-api, rhosp-rhel9/openstack-aodh-base, +44 more Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9 -
Red Hat OpenShift AI 3.4 rhoai/odh-automl-rhel9 1791535789, rhoai/odh-autorag-rhel9 1791557539, rhoai/odh-feature-server-rhel9 1791863220, rhoai/odh-th06-cpu-torch210-py312-rhel9 1791874335, rhoai/odh-th06-rocm64-torch291-py312-rhel9 1791872119, rhoai/odh-th06-cuda130-torch210-py312-rhel9 1791961113, +18 morefixed: vendor fix “No mitigation is currently available for this vulnerability. Users are advised to apply the security update when available.” RHSA-2026:84734
-
Red Hat Hardened Images python-urllib3 2.7.0-7.hum1, python-attrs 26.1.0-4.1.hum1, python-rpds-py 2026.6.3-3.hum1not affected: component not present
-
Red Hat OpenShift AI 3.4 rhoai/odh-cli-rhel9 1791509689, rhoai/rhai-cli-rhel9 1791509689, rhoai/odh-mlflow-rhel9 1791865967, rhoai/odh-trainer-rhel9 1791869783, rhoai/odh-eval-hub-rhel9 1791852583, rhoai/odh-maas-api-rhel9 1791788707, +76 morenot 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
- 52 d ago
Exploit prediction
0.61% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/facelessuser/soupsieve/security/advisories/GHSA-gjv8-xp57-g29c referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| OSV | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | soupsieve | <2.9.0 |
2.9.0 |
Affected products
- facelessuser soupsieve
Classification
References
-
github.com
/facelessuser/soupsieve/commit/ce44e4996e6632871c18cdd7a7fb641be8ef34ef
web
-
github.com
/facelessuser/soupsieve/security/advisories/GHSA-gjv8-xp57-g29c
exploit, web
-
github.com
/facelessuser/soupsieve/releases/tag/2.9
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-86000
advisory
-
github.com
/facelessuser/soupsieve
package
-
pypi.org
/project/soupsieve
package
-
github.com
/advisories/GHSA-gjv8-xp57-g29c
advisory
Sources
- CVE List CVE-2026-86000
- GitHub Advisory GHSA-gjv8-xp57-g29c
- NVD CVE-2026-86000
- OSV PYSEC-2026-4170
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.