PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-32687 elixir-ecto CVE debrief

CVE-2026-32687 is a SQL injection issue in elixir-ecto/postgrex’s notifications handling. If an attacker can influence the channel name passed to LISTEN/UNLISTEN, the value is interpolated into SQL without escaping double quotes, which can break out of the quoted identifier and append additional SQL. The same pattern is also present when reconnect logic replays subscriptions in handle_connect/1.

Vendor
elixir-ecto
Product
postgrex
CVSS
HIGH 7.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-12
Original CVE updated
2026-07-24
Advisory published
2026-05-12
Advisory updated
2026-07-24

Who should care

Teams running Elixir applications that use postgrex notifications, especially any code that accepts channel names from untrusted input or dynamically constructs subscription names. Operational teams should also care if reconnect behavior could replay stored subscriptions.

Technical summary

The supplied record says the vulnerable routines are Elixir.Postgrex.Notifications:listen/3, unlisten/3, and handle_connect/1 in lib/postgrex/notifications.ex. The channel argument is interpolated directly into LISTEN "..." / UNLISTEN "..." statements without escaping the double quote character. Because the notifications connection uses PostgreSQL simple query protocol, multi-statement payloads are accepted, which can allow chained SQL statements. The source record ties the issue to postgrex versions from 0.16.0 up to a fixed release, with the description stating before 0.22.2 and the NVD cpeCriteria listing before 0.22.0.

Defensive priority

High

Recommended defensive actions

  • Upgrade postgrex to the fixed release referenced by the vendor advisory and patch commit.
  • Audit any code that passes user-controlled or externally influenced values into LISTEN/UNLISTEN channel names.
  • Treat reconnect/replay paths as part of the attack surface, not just initial subscription calls.
  • Review database permissions and application assumptions so that subscription-related code cannot execute with unnecessary privileges.
  • Validate the exact affected version range against the vendor advisory and patch link because the supplied record contains a version-bound discrepancy.

Evidence notes

The CVE description states that the channel argument in listen/3 and unlisten/3 is interpolated directly into LISTEN/UNLISTEN SQL without escaping double quotes, and that handle_connect/1 replays the same pattern after reconnect. The supplied NVD metadata marks the weakness as CWE-89 and gives a CVSS v4.0 score of 7.5 HIGH. The record also contains a version-range inconsistency: the description says affected versions are from 0.16.0 before 0.22.2, while the NVD cpeCriteria lists vulnerable versions ending before 0.22.0. Use the linked vendor advisory and patch commit to confirm remediation scope.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-32687 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-32687

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-32687 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-32687

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Mitigation or vendor reference

    Unverified legacy reference

    URL: https://cna.erlef.org/cves/CVE-2026-32687.html

    6b3ad84c-e1a6-4bf7-a703-f496b71e49db - Third Party Advisory

  • Mitigation or vendor reference

    Unverified legacy reference

    URL: https://github.com/elixir-ecto/ecto/security/advisories/GHSA-r73h-97w8-m54h

    6b3ad84c-e1a6-4bf7-a703-f496b71e49db - Vendor Advisory

  • Mitigation or vendor reference

    Unverified legacy reference

    URL: https://github.com/elixir-ecto/postgrex/commit/7cdedbd4316bb65f82e6a9a4f922c0ac491cb770

    6b3ad84c-e1a6-4bf7-a703-f496b71e49db - Patch

  • Mitigation or vendor reference

    Unverified legacy reference

    URL: https://osv.dev/vulnerability/EEF-CVE-2026-32687

    6b3ad84c-e1a6-4bf7-a703-f496b71e49db - Third Party Advisory

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.