CVE-2026-66838

SQL injection via the :comment option in Postgrex.stream/4

State
Published
Severity
5.9 Medium
Published
Aug 7, 2026
Updated
Aug 7, 2026
Reserved
Aug 6, 2026

Read the record on cve.org

Description

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in elixir-ecto postgrex allows SQL Injection via the :comment option of Postgrex.stream/4. An attacker who can influence that value can close the comment delimiter with */ and extend the streamed statement with their own clauses, which execute under the connection's role. Ecto exposes the same option through Ecto.Repo.stream/2.

Postgrex appends the comment by concatenating it into the statement text sent in the Parse message, without escaping or rejecting */. The option is validated by comment_not_present!/1 at every other execution point; stream/4 never calls it. Because Parse accepts a single command, the injection is confined to the streamed statement and further statements cannot be chained.

This issue affects postgrex: from 0.19.3 before 0.22.4.

Scores

CVSSScoreVectorSource
4.05.9 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Affected Products

ProductVersions
postgrexelixir-ecto
  • 0.19.3 to before 0.22.4Affected
postgrexelixir-ecto
  • 4971a2722fa72f8e1b54a2c403cad4c43916e36d and laterAffectedfrom e1ecba618ddea4cee2556bd6ad9b6285e05f9d3cNot affectedfrom 4011be852c99dc61ddb98cb01aa41e8775a0e3ddNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.