CVE-2026-58225

Düşük

Açıklama

elixir-ecto postgrex bileşenindeki bir SQL Injection zafiyeti, bir LISTEN kanal adını etkileyebilen bir saldırganın yeniden bağlanma tekrar sorgusuna SQL enjekte etmesine izin vererek bildirim bağlantısının hizmet reddine (DoS) neden olmasına yol açar. Postgrex.Notifications, kanal adlarını quote_channel/1 ile temizler; bu işlem çift tırnakları ikiye katlayarak adın çift tırnaklı bir tanımlayıcı içinde güvenli olmasını sağlar. Bu durum, tek ifadeli LISTEN ve UNLISTEN yollarını korur. Ancak her (yeniden) bağlantıda, handle_connect/1 tüm kayıtlı kanalları, LISTEN ifadelerini birbirine ekleyip onları dolar işaretli anonim bir kod bloğu (DO $$BEGIN ... END$$) içine sararak aynı anda tekrar oynatır. quote_channel/1, bu bloğu açan ve kapatan $$ dolar işareti sınırlayıcısını kaçırmaz. listen/3 korumaları yalnızca boş baytları ve 63 bayttan uzun isimleri reddettiğinden, $$ içeren bir kanal adı doğrulamadan değişmeden geçer. Böyle bir ad yerleştirildiğinde, içerdiği $$ dıştaki dolar işaretli diziyi vaktinden önce sonlandırır ve PostgreSQL geri kalan kısmı ek üst düzey ifadeler olarak ayrıştırır. handle_connect/1 her (yeniden) bağlantıda çalıştığı için, hatalı tekrar sorgusu her seferinde reddedilir ve bildirim bağlantısı aboneliklerini asla yeniden kuramaz; böylece o bağlantıyı paylaşan her kanal için bildirimler sessizce düşürülür. Bir uygulama, güvenilmeyen girdiyi (örneğin bir kiracı veya kullanıcı tanımlayıcısı) Postgrex.Notifications.listen/3 fonksiyonuna kanal adı olarak geçtiğinde etkilenir. Çift tırnağın tekrarlanması tamamen geçerli bir enjekte edilmiş ifade oluşturulmasını engellediği için rastgele SQL yürütülmesi mümkün değildir, ancak bozulmuş sorgu paylaşılan bildirim bağlantısını tüm kiracılar için güvenilir şekilde kopararak hizmet reddine yol açar. Bu sorun postgrex'in 0.16.0 sürümünden 0.22.3 öncesine kadar olan sürümlerini etkilemektedir.

ÖnemDüşük
CVSS2.1
İstismar olasılığı—
ÜrünElixir-ecto Postgrex
Yayın10 Tem 2026
İlk görülme10 Tem 2026
Zayıflık türüCWE-89SQL enjeksiyonu

Nasıl düzeltilir

Güncelleyin
  • elixir-ecto postgrex0.22.3, 795c6062f62c4394272ff4b89170688857b4f841 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
elixir-ecto postgrex0.16.0 ≤ v < 0.22.3, 266b530faf9bde094e31e0e4ab851f933fadc0f5 ≤ v < 795c6062f62c4394272ff4b89170688857b4f8410.22.3, 795c6062f62c4394272ff4b89170688857b4f841

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.