---
id: CVE-2026-86000
title: Soup Sieve is a CSS selector library designed to be used with Beautiful Soup 4
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 V…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-400
  - CWE-1333
vendor: facelessuser
product: soupsieve
affected:
  - soupsieve < 2.9
published: '2026-09-17'
updated: '2026-09-17'
sourceUpdated: '2026-09-17T16:18:16.757'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-86000'
references:
  - url: >-
      https://github.com/facelessuser/soupsieve/commit/ce44e4996e6632871c18cdd7a7fb641be8ef34ef
    label: security-advisories@github.com
  - url: 'https://github.com/facelessuser/soupsieve/releases/tag/2.9'
    label: security-advisories@github.com
  - url: >-
      https://github.com/facelessuser/soupsieve/security/advisories/GHSA-gjv8-xp57-g29c
    label: security-advisories@github.com
  - url: >-
      https://github.com/facelessuser/soupsieve/security/advisories/GHSA-gjv8-xp57-g29c
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-86000.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-86000'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-86000'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-86000'
  - url: 'https://github.com/advisories/GHSA-gjv8-xp57-g29c'
  - url: 'https://github.com/facelessuser/soupsieve'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2536121'
tags:
  - nvd
  - cve.org
  - exploit-available
  - csaf
  - vex
  - red-hat
  - ghsa
  - pip
  - osv
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-17T15:45:31.018009Z'
ingestedAt: '2026-09-17T16:21:47.714Z'
scores:
  nvd: 5.3
  vendor: 5.9
  ghsa: 5.3
  osv: 5.3
aliases:
  - GHSA-gjv8-xp57-g29c
ecosystem: pip
patched:
  - soupsieve 2.9.0
epss: 0.00609
epssPercentile: 0.46909
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Exploit Intelligence, Lightspeed Core, Migration Toolkit for Applications 8, OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, Red Hat OpenShift AI (RHOAI), … · no fix planned: Lightspeed Core, Migration Toolkit for Applications 8, OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, … · updated 2026-09-21 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-86000.json)

## Package advisory (CVE-2026-86000)

Affected packages:

- `soupsieve < 2.9.0`

Patched in:

- `soupsieve 2.9.0`

Source: https://github.com/advisories/GHSA-gjv8-xp57-g29c
