<?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://cve.radiocsirt.org</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, 12 Oct 2026 16:39:20 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-340600</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-340600</link>
      <description>EUVD-2026-340600</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-340600</guid>
    </item>
    <item>
      <title>fkie_cve-2026-32687</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-32687</link>
      <description>&lt;p&gt;Improper Neutralization of Special Elements used in an SQL Command (&amp;#39;SQL Injection&amp;#39;) vulnerability in elixir-ecto postgrex (&amp;#39;Elixir.Postgrex.Notifications&amp;#39; module) allows SQL Injection.&lt;/p&gt;
&lt;p&gt;The channel argument passed to &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:listen/3 and &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:unlisten/3 is interpolated directly into LISTEN &amp;#34;...&amp;#34; / UNLISTEN &amp;#34;...&amp;#34; SQL statements without escaping the &amp;#34; character. An attacker who can influence the channel name can inject a &amp;#34; to break out of the quoted identifier and append arbitrary SQL. Because the notifications connection uses the PostgreSQL simple query protocol, multi-statement payloads are accepted, allowing DDL and DML commands to be chained (e.g. ; DROP TABLE ...; --). The same unsanitized interpolation also occurs in handle_connect/1 when replaying LISTEN commands after a reconnect.&lt;/p&gt;
&lt;p&gt;This vulnerability is associated with program file lib/postgrex/notifications.ex and program routines &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:listen/3, &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:unlisten/3, &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:handle_connect/1.&lt;/p&gt;
&lt;p&gt;This issue affects postgrex: from 0.16.0 before 0.22.2.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Improper Neutralization of Special Elements used in an SQL Command (&amp;#39;SQL Injection&amp;#39;) vulnerability in elixir-ecto postgrex (&amp;#39;Elixir.Postgrex.Notifications&amp;#39; module) allows SQL Injection.&lt;/p&gt;
&lt;p&gt;The channel argument passed to &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:listen/3 and &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:unlisten/3 is interpolated directly into LISTEN &amp;#34;...&amp;#34; / UNLISTEN &amp;#34;...&amp;#34; SQL statements without escaping the &amp;#34; character. An attacker who can influence the channel name can inject a &amp;#34; to break out of the quoted identifier and append arbitrary SQL. Because the notifications connection uses the PostgreSQL simple query protocol, multi-statement payloads are accepted, allowing DDL and DML commands to be chained (e.g. ; DROP TABLE ...; --). The same unsanitized interpolation also occurs in handle_connect/1 when replaying LISTEN commands after a reconnect.&lt;/p&gt;
&lt;p&gt;This vulnerability is associated with program file lib/postgrex/notifications.ex and program routines &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:listen/3, &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:unlisten/3, &amp;#39;Elixir.Postgrex.Notifications&amp;#39;:handle_connect/1.&lt;/p&gt;
&lt;p&gt;This issue affects postgrex: from 0.16.0 before 0.22.2.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-32687</guid>
    </item>
    <item>
      <title>GHSA-r73h-97w8-m54h — Postgrex: Channel-name SQL injection in `Postgrex.Notifications.listen/3`</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-r73h-97w8-m54h</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Hex: postgrex&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;SQL injection in `Postgrex.Notifications.listen/3`: the `channel` argument is interpolated straight into `LISTEN &amp;#34;...&amp;#34;` / `UNLISTEN &amp;#34;...&amp;#34;` without escaping the `&amp;#34;` character. Any caller that lets a user influence the channel name (e.g. a pub/sub bridge that uses a tenant id or topic slug as the channel) and the name is not sanitized can execute arbitrary SQL on the notifications connection.&lt;/p&gt;
&lt;p&gt;Only those using the `Postgrex.Notifications` directly or via a dependency, with a non-sanitized channel name are vulnerable. Ecto does not use Postgrex.Notifications by default, but you must validate if any other dependency does.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;PostgreSQL escapes a `&amp;#34;` inside a quoted identifier by doubling it to `&amp;#34;&amp;#34;`. Postgrex doesn&amp;#39;t do that doubling, so a `&amp;#34;` inside `channel` closes the identifier early and everything after it is parsed as SQL on the same connection.&lt;/p&gt;
&lt;p&gt;The notifications connection runs as whatever DB role the app is configured with. Unlike the `Postgrex.query/4` API, there&amp;#39;s no extended-protocol guard here: `LISTEN`/`UNLISTEN` are sent as simple queries, so multi-statement payloads work and the attacker can chain `; CREATE TABLE …`, `; DROP …`, `; CREATE ROLE …`, etc.&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;SQL injection on the notifications connection. Affects any application that calls `Postgrex.Notifications.listen/3` (or `unlisten/3`) with a channel name derived from untrusted input. Executes as the configured DB user with no protocol-level limit on what can be chained, so the r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Hex: postgrex&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;SQL injection in `Postgrex.Notifications.listen/3`: the `channel` argument is interpolated straight into `LISTEN &amp;#34;...&amp;#34;` / `UNLISTEN &amp;#34;...&amp;#34;` without escaping the `&amp;#34;` character. Any caller that lets a user influence the channel name (e.g. a pub/sub bridge that uses a tenant id or topic slug as the channel) and the name is not sanitized can execute arbitrary SQL on the notifications connection.&lt;/p&gt;
&lt;p&gt;Only those using the `Postgrex.Notifications` directly or via a dependency, with a non-sanitized channel name are vulnerable. Ecto does not use Postgrex.Notifications by default, but you must validate if any other dependency does.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;PostgreSQL escapes a `&amp;#34;` inside a quoted identifier by doubling it to `&amp;#34;&amp;#34;`. Postgrex doesn&amp;#39;t do that doubling, so a `&amp;#34;` inside `channel` closes the identifier early and everything after it is parsed as SQL on the same connection.&lt;/p&gt;
&lt;p&gt;The notifications connection runs as whatever DB role the app is configured with. Unlike the `Postgrex.query/4` API, there&amp;#39;s no extended-protocol guard here: `LISTEN`/`UNLISTEN` are sent as simple queries, so multi-statement payloads work and the attacker can chain `; CREATE TABLE …`, `; DROP …`, `; CREATE ROLE …`, etc.&lt;/p&gt;
&lt;p&gt;### Impact&lt;/p&gt;
&lt;p&gt;SQL injection on the notifications connection. Affects any application that calls `Postgrex.Notifications.listen/3` (or `unlisten/3`) with a channel name derived from untrusted input. Executes as the configured DB user with no protocol-level limit on what can be chained, so the r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-r73h-97w8-m54h</guid>
    </item>
  </channel>
</rss>
