<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 18:39:01 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-59893 — sqlparse: Inefficient Regex Handling of Dollar-Quoted SQL Literals Leads to ReDoS (Denial of Service)</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-59893</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; andialbrecht sqlparse&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; andialbrecht sqlparse&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-59893</guid>
    </item>
    <item>
      <title>GHSA-prg7-hcfm-mfcr — sqlparse: Inefficient Regex Handling of Dollar-Quoted SQL Literals Leads to ReDoS (Denial of Service)</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-prg7-hcfm-mfcr</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: sqlparse&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;sqlparse contains a Regular Expression Denial of Service (ReDoS) vulnerability in its dollar-quoted SQL literal lexer. The regex pattern at `sqlparse/keywords.py:33` uses a backreference (`\1`) to match closing dollar-quote delimiters, causing O(n²) CPU complexity when processing inputs containing many unique, unmatched dollar-quote opening sequences. An attacker who can supply arbitrary SQL text to any application using sqlparse can trigger sustained CPU exhaustion, resulting in a denial of service. No authentication or special privileges are required.&lt;/p&gt;
&lt;p&gt;**Scope note:** the same regex shape — a lazy dot-all quantifier terminated by a delimiter, applied at every input position by the lexer loop — is also present in the two multiline-comment patterns. Those are covered by this advisory and by the same fix; see &amp;#34;Additional affected pattern: multiline comments&amp;#34; below.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable regex is defined in `sqlparse/keywords.py` as part of `SQL_REGEX`:&lt;/p&gt;
&lt;p&gt;```python
# sqlparse/keywords.py:33
(r&amp;#39;((?&amp;lt;![\w\&amp;#34;\$])\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1&amp;#39;, tokens.Literal),
```&lt;/p&gt;
&lt;p&gt;This pattern first captures a dollar-quote delimiter (e.g., `$tag$`) into group 1, then attempts to match any characters (`[\s\S]*?`) up to the same delimiter again via backreference `\1`. When no matching closing delimiter exists, the regex engine exhausts the remaining input before concluding there is no match. For a sequence of N unique unmatched openers, each opener triggers a full scan of the r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: sqlparse&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;sqlparse contains a Regular Expression Denial of Service (ReDoS) vulnerability in its dollar-quoted SQL literal lexer. The regex pattern at `sqlparse/keywords.py:33` uses a backreference (`\1`) to match closing dollar-quote delimiters, causing O(n²) CPU complexity when processing inputs containing many unique, unmatched dollar-quote opening sequences. An attacker who can supply arbitrary SQL text to any application using sqlparse can trigger sustained CPU exhaustion, resulting in a denial of service. No authentication or special privileges are required.&lt;/p&gt;
&lt;p&gt;**Scope note:** the same regex shape — a lazy dot-all quantifier terminated by a delimiter, applied at every input position by the lexer loop — is also present in the two multiline-comment patterns. Those are covered by this advisory and by the same fix; see &amp;#34;Additional affected pattern: multiline comments&amp;#34; below.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable regex is defined in `sqlparse/keywords.py` as part of `SQL_REGEX`:&lt;/p&gt;
&lt;p&gt;```python
# sqlparse/keywords.py:33
(r&amp;#39;((?&amp;lt;![\w\&amp;#34;\$])\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1&amp;#39;, tokens.Literal),
```&lt;/p&gt;
&lt;p&gt;This pattern first captures a dollar-quote delimiter (e.g., `$tag$`) into group 1, then attempts to match any characters (`[\s\S]*?`) up to the same delimiter again via backreference `\1`. When no matching closing delimiter exists, the regex engine exhausts the remaining input before concluding there is no match. For a sequence of N unique unmatched openers, each opener triggers a full scan of the r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-prg7-hcfm-mfcr</guid>
    </item>
    <item>
      <title>PYSEC-2026-3698 — sqlparse: Inefficient Regex Handling of Dollar-Quoted SQL Literals Leads to ReDoS (Denial of Service)</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-3698</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: sqlparse&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;sqlparse contains a Regular Expression Denial of Service (ReDoS) vulnerability in its dollar-quoted SQL literal lexer. The regex pattern at `sqlparse/keywords.py:33` uses a backreference (`\1`) to match closing dollar-quote delimiters, causing O(n²) CPU complexity when processing inputs containing many unique, unmatched dollar-quote opening sequences. An attacker who can supply arbitrary SQL text to any application using sqlparse can trigger sustained CPU exhaustion, resulting in a denial of service. No authentication or special privileges are required.&lt;/p&gt;
&lt;p&gt;**Scope note:** the same regex shape — a lazy dot-all quantifier terminated by a delimiter, applied at every input position by the lexer loop — is also present in the two multiline-comment patterns. Those are covered by this advisory and by the same fix; see &amp;#34;Additional affected pattern: multiline comments&amp;#34; below.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable regex is defined in `sqlparse/keywords.py` as part of `SQL_REGEX`:&lt;/p&gt;
&lt;p&gt;```python
# sqlparse/keywords.py:33
(r&amp;#39;((?&amp;lt;![\w\&amp;#34;\$])\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1&amp;#39;, tokens.Literal),
```&lt;/p&gt;
&lt;p&gt;This pattern first captures a dollar-quote delimiter (e.g., `$tag$`) into group 1, then attempts to match any characters (`[\s\S]*?`) up to the same delimiter again via backreference `\1`. When no matching closing delimiter exists, the regex engine exhausts the remaining input before concluding there is no match. For a sequence of N unique unmatched openers, each opener triggers a full scan of the r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: sqlparse&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;sqlparse contains a Regular Expression Denial of Service (ReDoS) vulnerability in its dollar-quoted SQL literal lexer. The regex pattern at `sqlparse/keywords.py:33` uses a backreference (`\1`) to match closing dollar-quote delimiters, causing O(n²) CPU complexity when processing inputs containing many unique, unmatched dollar-quote opening sequences. An attacker who can supply arbitrary SQL text to any application using sqlparse can trigger sustained CPU exhaustion, resulting in a denial of service. No authentication or special privileges are required.&lt;/p&gt;
&lt;p&gt;**Scope note:** the same regex shape — a lazy dot-all quantifier terminated by a delimiter, applied at every input position by the lexer loop — is also present in the two multiline-comment patterns. Those are covered by this advisory and by the same fix; see &amp;#34;Additional affected pattern: multiline comments&amp;#34; below.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;The vulnerable regex is defined in `sqlparse/keywords.py` as part of `SQL_REGEX`:&lt;/p&gt;
&lt;p&gt;```python
# sqlparse/keywords.py:33
(r&amp;#39;((?&amp;lt;![\w\&amp;#34;\$])\$(?:[_A-ZÀ-Ü]\w*)?\$)[\s\S]*?\1&amp;#39;, tokens.Literal),
```&lt;/p&gt;
&lt;p&gt;This pattern first captures a dollar-quote delimiter (e.g., `$tag$`) into group 1, then attempts to match any characters (`[\s\S]*?`) up to the same delimiter again via backreference `\1`. When no matching closing delimiter exists, the regex engine exhausts the remaining input before concluding there is no match. For a sequence of N unique unmatched openers, each opener triggers a full scan of the r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-3698</guid>
    </item>
  </channel>
</rss>
