p PatchFirst

CVE-2026-84305

CVE-2026-84305 · sqlparse: Reindentation of tuple lists causes near-cap quadratic CPU consumption

This page contains facts from public vulnerability sources. Check the original advisory before updating.

sqlparse is a non-validating SQL parser module for Python. Prior to 0.6.0, sqlparse.format(sql, reindent=True) and sqlformat --reindent route attacker-controlled parenthesized tuple lists through ReindentFilter._get_offset() in sqlparse/filters/reindent.py, where _flatten_up_to_token() repeatedly rebuilds and joins the statement prefix. Thousands of offset calculations walk an expanding token tree, producing quadratic CPU consumption for inputs that remain below MAX_GROUPING_TOKENS and causing request delays, reduced throughput, or worker starvation. This issue is fixed in version 0.6.0.

CVSS 5.1 · Medium · EPSS 0.2% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • sqlparse

    Versions
    • < 0.6.0: Affected

    No fix published

  • sqlparse Debian:12

    Versions
    • 0.4.2-1
    • 0.4.2-1+deb12u1
    • 0.4.4-1
    • 0.5.0-1
    • 0.5.1-1
    • 0.5.1-2
    • 0.5.2-1
    • 0.5.3-1
    • 0.5.4-1
    • 0.5.5-1
    • 0.5.5-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Debian:13

    Versions
    • 0.5.3-1
    • 0.5.4-1
    • 0.5.5-1
    • 0.5.5-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Debian:14

    Versions
    • 0.5.3-1
    • 0.5.4-1
    • 0.5.5-1
    • 0.5.5-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse PyPI

    Versions
    • 0.1.0
    • 0.1.1
    • 0.1.10
    • 0.1.11
    • 0.1.12
    • 0.1.13
    • 0.1.14
    • 0.1.15
    • 0.1.16
    • 0.1.17
    • 0.1.18
    • 0.1.19
    • 0.1.2
    • 0.1.3
    • 0.1.4
    • 0.1.5
    • 0.1.6
    • 0.1.7
    • 0.1.8
    • 0.1.9
    • 0.2.0
    • 0.2.1
    • 0.2.2
    • 0.2.3
    • 0.2.4
    • 0.3.0
    • 0.3.1
    • 0.4.0
    • 0.4.1
    • 0.4.2
    • 0.4.3
    • 0.4.4
    • 0.5.0
    • 0.5.1
    • 0.5.2
    • 0.5.3
    • 0.5.4
    • 0.5.5
    Affected ranges
    • ECOSYSTEM: < 0.6.0

    Update to 0.6.0

  • sqlparse Ubuntu:Pro:16.04:LTS

    Versions
    • 0.1.13-2ubuntu2
    • 0.1.18-1
    • 0.1.18-1ubuntu0.1~esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Ubuntu:Pro:18.04:LTS

    Versions
    • 0.2.2-1
    • 0.2.4-0.1
    • 0.2.4-0.1ubuntu0.1
    • 0.2.4-0.1ubuntu0.1+esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Ubuntu:Pro:20.04:LTS

    Versions
    • 0.2.4-1
    • 0.2.4-1build1
    • 0.2.4-2
    • 0.2.4-3
    • 0.2.4-3ubuntu0.1
    • 0.2.4-3ubuntu0.1+esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Ubuntu:22.04:LTS

    Versions
    • 0.4.1-1ubuntu1
    • 0.4.2-1
    • 0.4.2-1ubuntu0.22.04.1
    • 0.4.2-1ubuntu0.22.04.2
    • 0.4.2-1ubuntu0.22.04.3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Ubuntu:24.04:LTS

    Versions
    • 0.4.2-1ubuntu1
    • 0.4.4-1
    • 0.4.4-1ubuntu0.1
    • 0.4.4-1ubuntu0.2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Ubuntu:26.10

    Versions
    • 0.5.4-1
    • 0.5.5-2
    • 0.5.5-2ubuntu1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • sqlparse Ubuntu:26.04:LTS

    Versions
    • 0.5.3-1
    • 0.5.4-1
    • 0.5.4-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →