sqlparse: Reindentation of tuple lists causes near-cap quadratic CPU consumption
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| andialbrecht | sqlparse | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Andialbrecht | Sqlparse |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-cfqr-cjx5-5jcm | sqlparse: Reindentation of tuple lists causes near-cap quadratic CPU consumption |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.189% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Andialbrecht
Andialbrecht sqlparse |
|
| Vendors & Products |
Andialbrecht
Andialbrecht sqlparse |
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | sqlparse: Reindentation of tuple lists causes near-cap quadratic CPU consumption | |
| Weaknesses | CWE-407 | |
| References |
| |
| Metrics |
cvssV4_0
|