CVE-2026-126193 json
Soup Sieve: Uncontrolled recursion in Soup Sieve CSS parser lets nested pseudo-class selectors exhaust the Python call stack
published 9d ago modified 20h ago also EUVD-2026-124559 , GHSA-7g44-g9rc-x53w
Unreviewed: the maintainers' own advisory
Published by the maintainers on their GitHub repository facelessuser/soupsieve. GitHub has not reviewed it into the GitHub Advisory Database, so the affected packages and versions are the maintainers' word. Read the full advisory on GitHub.
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no EPSS score yet
- public exploits
- 0
- none known
Summary
Soup Sieve is a CSS selector library for Beautiful Soup. From 0.4 until 3.0, deeply nested CSS pseudo-class selectors can cause recursive parsing to exceed Python’s recursion limit and raise RecursionError . Applications accepting untrusted selectors may experience failure of the affected request or task if the exception is not handled. The demonstrated behavior is recoverable and does not establish an interpreter crash or persistent service-wide denial of service. This vulnerability is fixed in version 3.0.
Patch / fix
- pypi soupsieve 3.0
Is CVE-2026-126193 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS 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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | soupsieve | >=0.4, <=2.10 |
3.0 |
Affected products
- facelessuser soupsieve
Classification
- Weakness
-
- CWE-674 Uncontrolled Recursion
References
Sources
- CVE List CVE-2026-126193
- NVD CVE-2026-126193
- Maintainer advisory GHSA-7g44-g9rc-x53w
Fencer Intel 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.
The maintainers of facelessuser/soupsieve published their own advisory on GitHub. Reviewed sources take precedence over it.