p PatchFirst

CVE-2026-86000

CVE-2026-86000 · Soup Sieve: Polynomial-time ReDoS (O(n²)) in the `IDENTIFIER` / `VALUE` selector sub-patterns

Esta página presenta datos de fuentes públicas de vulnerabilidades. Consulta el aviso original antes de actualizar.

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.

CVSS 5.3 · Media · EPSS 0,6% · Corrección disponible

Publicación
Actualización

Pila tecnológica: system · python

Productos y versiones afectados

  • soupsieve

    Versiones
    • < 2.9: Afectada

    Sin corrección publicada

  • soupsieve Debian:12

    Versiones
    • 2.3.2-1
    • 2.4-1
    • 2.4.1-1
    • 2.4.1-2
    • 2.5-1
    • 2.6-1
    • 2.7-1
    • 2.7-2
    • 2.8.1-1
    • 2.8.3-1
    • 2.8.4-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve Debian:13

    Versiones
    • 2.7-1
    • 2.7-2
    • 2.8.1-1
    • 2.8.3-1
    • 2.8.4-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve Debian:14

    Versiones
    • 2.7-1
    • 2.7-2
    • 2.8.1-1
    • 2.8.3-1
    • 2.8.4-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve PyPI

    Versiones
    • 0.4
    • 0.5
    • 0.5.1
    • 0.5.2
    • 0.5.3
    • 0.6
    • 1.0
    • 1.0.1
    • 1.0.2
    • 1.0b1
    • 1.0b2
    • 1.1
    • 1.2
    • 1.2.1
    • 1.3
    • 1.3.1
    • 1.4
    • 1.5
    • 1.6
    • 1.6.1
    • 1.6.2
    • 1.7
    • 1.7.1
    • 1.7.2
    • 1.7.3
    • 1.8
    • 1.9
    • 1.9.1
    • 1.9.2
    • 1.9.3
    • 1.9.4
    • 1.9.5
    • 1.9.6
    • 2.0
    • 2.0.1
    • 2.1
    • 2.2
    • 2.2.1
    • 2.3
    • 2.3.1
    • 2.3.2
    • 2.3.2.post1
    • 2.4
    • 2.4.1
    • 2.5
    • 2.6
    • 2.7
    • 2.8
    • 2.8.1
    • 2.8.2
    • 2.8.3
    • 2.8.4
    Intervalos de versiones afectados
    • ECOSYSTEM: < 2.9.0

    Actualiza a 2.9.0

  • soupsieve Ubuntu:20.04:LTS

    Versiones
    • 1.9.2+dfsg-2ubuntu1
    • 1.9.4+dfsg-1
    • 1.9.5+dfsg-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve Ubuntu:22.04:LTS

    Versiones
    • 2.2.1-2
    • 2.3-1
    • 2.3.1-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve Ubuntu:24.04:LTS

    Versiones
    • 2.4.1-2
    • 2.5-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve Ubuntu:26.10

    Versiones
    • 2.8.3-1
    • 2.8.4-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • soupsieve Ubuntu:26.04:LTS

    Versiones
    • 2.7-2
    • 2.8.1-1
    • 2.8.3-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

Fuentes originales

Comprueba tu servidor →