<?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>Mon, 28 Sep 2026 19:04:30 +0000</lastBuildDate>
    <item>
      <title>GHSA-m7wr-2xf7-cm9p — pgx SQL Injection via Line Comment Creation</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-m7wr-2xf7-cm9p</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/jackc/pgx, Go: github.com/jackc/pgx/v4&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;SQL injection can occur when all of the following conditions are met:&lt;/p&gt;
&lt;p&gt;1. The non-default simple protocol is used.
2. A placeholder for a numeric value must be immediately preceded by a minus.
3. There must be a second placeholder for a string value after the first placeholder; both
must be on the same line.
4. Both parameter values must be user-controlled.&lt;/p&gt;
&lt;p&gt;e.g.&lt;/p&gt;
&lt;p&gt;Simple mode must be enabled:&lt;/p&gt;
&lt;p&gt;```go
// connection string includes &amp;#34;prefer_simple_protocol=true&amp;#34;
// or
// directly enabled in code
config.ConnConfig.PreferSimpleProtocol = true
```&lt;/p&gt;
&lt;p&gt;Parameterized query:&lt;/p&gt;
&lt;p&gt;```sql
SELECT * FROM example WHERE result=-$1 OR name=$2;
```&lt;/p&gt;
&lt;p&gt;Parameter values:&lt;/p&gt;
&lt;p&gt;`$1` =&amp;gt; `-42`
`$2` =&amp;gt; `&amp;#34;foo\n 1 AND 1=0 UNION SELECT * FROM secrets; --&amp;#34;`&lt;/p&gt;
&lt;p&gt;Resulting query after preparation:&lt;/p&gt;
&lt;p&gt;```sql
SELECT * FROM example WHERE result=--42 OR name= &amp;#39;foo
1 AND 1=0 UNION SELECT * FROM secrets; --&amp;#39;;
```&lt;/p&gt;
&lt;p&gt;### Patches&lt;/p&gt;
&lt;p&gt;The problem is resolved in v4.18.2.&lt;/p&gt;
&lt;p&gt;### Workarounds&lt;/p&gt;
&lt;p&gt;Do not use the simple protocol or do not place a minus directly before a placeholder.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/jackc/pgx, Go: github.com/jackc/pgx/v4&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;SQL injection can occur when all of the following conditions are met:&lt;/p&gt;
&lt;p&gt;1. The non-default simple protocol is used.
2. A placeholder for a numeric value must be immediately preceded by a minus.
3. There must be a second placeholder for a string value after the first placeholder; both
must be on the same line.
4. Both parameter values must be user-controlled.&lt;/p&gt;
&lt;p&gt;e.g.&lt;/p&gt;
&lt;p&gt;Simple mode must be enabled:&lt;/p&gt;
&lt;p&gt;```go
// connection string includes &amp;#34;prefer_simple_protocol=true&amp;#34;
// or
// directly enabled in code
config.ConnConfig.PreferSimpleProtocol = true
```&lt;/p&gt;
&lt;p&gt;Parameterized query:&lt;/p&gt;
&lt;p&gt;```sql
SELECT * FROM example WHERE result=-$1 OR name=$2;
```&lt;/p&gt;
&lt;p&gt;Parameter values:&lt;/p&gt;
&lt;p&gt;`$1` =&amp;gt; `-42`
`$2` =&amp;gt; `&amp;#34;foo\n 1 AND 1=0 UNION SELECT * FROM secrets; --&amp;#34;`&lt;/p&gt;
&lt;p&gt;Resulting query after preparation:&lt;/p&gt;
&lt;p&gt;```sql
SELECT * FROM example WHERE result=--42 OR name= &amp;#39;foo
1 AND 1=0 UNION SELECT * FROM secrets; --&amp;#39;;
```&lt;/p&gt;
&lt;p&gt;### Patches&lt;/p&gt;
&lt;p&gt;The problem is resolved in v4.18.2.&lt;/p&gt;
&lt;p&gt;### Workarounds&lt;/p&gt;
&lt;p&gt;Do not use the simple protocol or do not place a minus directly before a placeholder.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-m7wr-2xf7-cm9p</guid>
    </item>
  </channel>
</rss>
