CVE-2026-32687
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
Podatność na iniekcję SQL w module Elixir.Postgrex.Notifications biblioteki postgrex dla języka Elixir. Parametr channel przekazywany do funkcji listen/3 i unlisten/3 jest interpolowany bezpośrednio do zapytań SQL LISTEN/UNLISTEN bez odpowiedniego escapowania znaku cudzysłowu. Atakujący, który może wpływać na nazwę kanału, może wstrzyknąć dowolne polecenia SQL, w tym DDL i DML, wykorzystując protokół simple query PostgreSQL. Podatność dotyczy wersji od 0.16.0 do 0.22.2.
Ocena ryzyka
Ryzyko zdalnego wykonania dowolnych poleceń SQL na bazie danych PostgreSQL, co może prowadzić do naruszenia poufności, integralności i dostępności danych, w tym usunięcia tabel.
Rekomendacja
Zaleca się natychmiastową aktualizację biblioteki postgrex do wersji 0.22.2 lub nowszej oraz unikanie przekazywania niezaufanych danych jako nazw kanałów.
Inne podatności w postgrex
Zobacz wszystkie- CVE-2026-58225Niskie
Podatność SQL Injection w bibliotece postgrex dla języka Elixir pozwala atakującemu na wstrzyknięcie kodu SQL poprzez nazwę kanału LISTEN. Problem występuje podczas ponownego łączenia, gdy nazwy kanałów są łączone w bloku kodu anonimowego, a funkcja quote_channel/1 nie zabezpiecza przed znakami $$, co prowadzi do przerwania połączenia powiadomień i odmowy usługi.
- CVE-2026-66838Wysokie
W bibliotece postgrex (część elixir-ecto) w wersjach od 0.19.3 do 0.22.4 występuje podatność na wstrzykiwanie SQL przez opcję :comment w Postgrex.stream/4. Atakujący, który może wpłynąć na tę wartość, może zamknąć komentarz i dodać własne klauzule do wykonywanego zapytania.
Oryginalny opis (angielski, źródło NVD)
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in elixir-ecto postgrex ('Elixir.Postgrex.Notifications' module) allows SQL Injection. The channel argument passed to 'Elixir.Postgrex.Notifications':listen/3 and 'Elixir.Postgrex.Notifications':unlisten/3 is interpolated directly into LISTEN "..." / UNLISTEN "..." SQL statements without escaping the " character. An attacker who can influence the channel name can inject a " 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. This vulnerability is associated with program file lib/postgrex/notifications.ex and program routines 'Elixir.Postgrex.Notifications':listen/3, 'Elixir.Postgrex.Notifications':unlisten/3, 'Elixir.Postgrex.Notifications':handle_connect/1. This issue affects postgrex: from 0.16.0 before 0.22.2.

