CVE-2026-84305Medium▾ Sunlitsqlparse 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/…
▾ Sunlit zone — Low / medium · no exploitation signal
impact 27.5 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Sep 2.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via NVD
0.1%
Last analysed / modified upstream
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.
Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
Affected packages:
sqlparse <= 0.5.5Patched in:
sqlparse 0.6.0Connected by shared product, vendor, weakness, or advisory.
CVE-2026-54284High· 7.5sqlparse is a non-validating SQL parser module for Python
GHSA-27jp-wm6q-gp25Mediumsqlparse: formatting list of tuples leads to denial of service
CVE-2026-59894Mediumsqlparse is a non-validating SQL parser module for Python
CVE-2026-59893High· 7.5sqlparse is a non-validating SQL parser module for Python
CVE-2021-32839High· 7.5StripComments filter contains a regular expression that is vulnerable to ReDOS (Regular Expression Denial of Service)
CVE-2024-4340High· 7.5sqlparse parsing heavily nested list leads to Denial of Service