p PatchFirst

PatchFirst · Latest vulnerabilities

sqlparse vulnerabilities

Vulnerabilities published for sqlparse in the last 30 days: 1. Listed in the KEV catalogue: 0.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 7

  1. CVE-2026-112307

    High · CVSS 8.4EPSS 0.14%No fix published

    sqlparse through 0.6.0 PHP Code Injection via output_format='php'

    sqlparse through 0.6.0 contains a PHP code injection vulnerability that allows attackers to inject PHP expressions by supplying SQL text containing unescaped dollar signs. Attackers can embed ${expr} or {${expr}} sequences that OutputPHPFilter places in double-quoted strings, executing arbitrary PHP code when the generated snippet runs.

    Published Updated
  2. CVE-2026-84305

    Medium · CVSS 5.1EPSS 0.19%No fix published

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

    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.

    Published Updated
  3. CVE-2026-54284

    High · CVSS 8.7EPSS 0.33%Fix available

    sqlparse: TokenList.__init__ materializes O(subtree) value per group, causing CPU DoS before depth/token caps trigger

    sqlparse is a non-validating SQL parser module for Python. Prior to 0.6.0, TokenList construction and string conversion in sqlparse/sql.py repeatedly flatten nested token subtrees constructed by group_parenthesis and group_case, causing quadratic CPU consumption through sqlparse.parse(), sqlparse.format(), and sqlparse.split() before depth and token limits terminate processing. This issue is fixed in version 0.6.0.

    • Update to 0.4.4-1ubuntu0.2
    Published Updated
  4. CVE-2026-59893

    High · CVSS 7.5EPSS 0.34%Fix available

    sqlparse: Inefficient Regex Handling of Dollar-Quoted SQL Literals Leads to ReDoS (Denial of Service)

    sqlparse is a non-validating SQL parser module for Python. Prior to 0.6.0, SQL_REGEX in sqlparse/keywords.py and the per-position loop in sqlparse/lexer.py repeatedly scan unmatched dollar-quoted literal and multiline-comment delimiters, causing quadratic CPU consumption through sqlparse.parse(), sqlparse.format(), and sqlparse.split(). This issue is fixed in version 0.6.0.

    • Update to 0.4.4-1ubuntu0.2
    Published Updated
  5. CVE-2026-71491

    High · CVSS 8.7EPSS 0.26%Fix available

    sqlparse: Quadratic O(n²) DoS in group_comments

    sqlparse is a non-validating SQL parser module for Python. Prior to 0.6.0, group_comments in sqlparse/engine/grouping.py repeatedly rescans comment-only statements before the MAX_GROUPING_TOKENS guard, causing quadratic CPU consumption through sqlparse.parse() and sqlparse.format(sql, strip_comments=True). This issue is fixed in version 0.6.0.

    • Update to 0.4.4-1ubuntu0.2
    Published Updated
  6. CVE-2026-59894

    Medium · CVSS 6.2EPSS 0.13%No fix published

    sqlparse: Generated Python and PHP snippets allow SQL string breakout through unescaped backslashes

    sqlparse is a non-validating SQL parser module for Python. Prior to 0.6.0, sqlparse/filters/output.py fails to escape existing backslashes before quotes in sqlparse.format output_format='python' and output_format='php' and the corresponding sqlformat -l modes, allowing crafted SQL to terminate the generated string and inject Python or PHP code when a downstream consumer executes or imports the generated source. This issue is fixed in version 0.6.0.

    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →