Skip to main content
← All vulnerabilities
CVE-2026-84305GHSA-CFQR-CJX5-5JCMPYSEC-2026-3923

sqlparse: Reindentation of tuple lists causes near-cap quadratic CPU consumption

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.6.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • andialbrecht sqlparse

    fixed in 0.6.0

  • sqlparsePyPI

    fixed in 0.6.0

References 3

GitHub · andialbrecht/sqlparse