CVE-2026-12050
Açıklama
pgAdmin 4'ün adlandırılmış geri yükleme noktası uç noktasında (POST /browser/server/restore_point/{gid}/{sid}) bir SQL enjeksiyonu bulunmaktadır. Kullanıcı tarafından sağlanan 'value' alanı, bağlı bir parametre olarak geçilmek yerine str.format() ile doğrudan SQL dizesine eklenmiştir; bu durum, bağlı bir PostgreSQL oturumuna sahip kimliği doğrulanmış bir pgAdmin kullanıcısının söz konusu uç nokta üzerinden ek ifadeler enjekte etmesine olanak tanır. Enjekte edilen SQL, kullanıcının halihazırda kimliğinin doğrulandığı veritabanı rolü altında yürütülür. Kusur bir yetki sınırını aşmaz -- kullanıcı zaten Sorgu Aracı aracılığıyla o role doğrudan SQL erişimine sahiptir -- dolayısıyla saldırgan, veritabanı rolünün kendisine zaten tanıdığından daha fazla bir yetenek kazanmaz. Marjinal etki, enjeksiyon yolunun belgelenmiş SQL yürütme arayüzü olmamasından kaynaklanmaktadır; bu nedenle, Sorgu Aracını uygulama katmanında kısıtlayan bir kurulum, öngörmediği bir yol üzerinden SQL yürütüldüğünü görebilir. Düzeltme, geri yükleme noktası adını bağlı bir parametre olarak geçirir ve fonksiyon çağrısını pg_catalog.pg_create_restore_point şeklinde şema ile nitelendirerek bağlantıdaki varsayılan olmayan bir search_path'in çağrıyı gölge bir tanımlamaya yönlendirmesini engeller. Bir regresyon testi, değerin SQL dizesine eklenmediğini ve bağlı bir parametre olarak geldiğini doğrular. Bu sorun şu pgAdmin 4 sürümlerini etkilemektedir: 9.16 öncesindeki 1.0'dan itibaren tüm sürümler.
Nasıl düzeltilir
- pgadmin pgadmin_49.16 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| pgadmin pgadmin_4 | 1.0 ≤ v < 9.16 | 9.16 |
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.
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.