CVE-2026-84305

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

State
Published
Severity
5.1 Medium
Published
Sep 1, 2026
Updated
Sep 1, 2026
Reserved
Sep 1, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
4.05.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NGitHub_M

Weaknesses

  • CWE-407 Inefficient Algorithmic Complexity

Affected Products

ProductVersions
sqlparseandialbrecht
  • < 0.6.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.