CVE-2026-12045
Açıklama
pgAdmin 4 AI Assistant'taki salt okunur işlem atlatma açığı, asistanın okuduğu veritabanı içeriğini etkileyebilen bir saldırganın, pgAdmin kullanıcısının veritabanı rolü ayrıcalıklarıyla rastgele SQL komutları yürütmesine olanak tanır. AI Assistant'ın execute_sql_query aracı, veri değişikliğini önlemek için LLM tarafından oluşturulan SQL'yi bir BEGIN TRANSACTION READ ONLY sarmalayıcısı içinde çalıştırır. LLM tarafından sağlanan sorgu, tek bir ifadeyle veya yalnızca salt okunur fiillerle sınırlandırılmadan veritabanı sürücüsüne iletilmiştir; bu nedenle COMMIT, END, ROLLBACK veya ABORT ile başlayan çoklu ifade içeren bir yük, salt okunur işlemi sonlandırmış ve sonraki ifadeleri autocommit modunda çalıştırmıştır. Sondaki ROLLBACK işleminin ise herhangi bir etkisi olmamıştır. Saldırı, istem enjeksiyonu (prompt injection) yoluyla gerçekleştirilir: AI Assistant'ın inceleyebileceği herhangi bir nesneye (bir satır, bir sütun değeri, bir yorum) içerik yazabilen bir saldırgan, LLM'nin çoklu ifade içeren yükü bir araç çağrısı olarak yayınlamasına neden olabilir. pgAdmin kullanıcısının rolü üzerinde standart yazma ayrıcalıklarına sahip olan bir saldırgan, yetkisiz veri değişikliği gerçekleştirebilir. pgAdmin kullanıcısının rolü bir PostgreSQL süperkullanıcısı olduğunda veya pg_execute_server_program yetkisine sahip olduğunda, zincir COPY ... TO PROGRAM aracılığıyla veritabanı sunucu ana bilgisayarında uzaktan kod çalıştırmaya kadar uzanır. Düzeltme, LLM tarafından sağlanan sorguyu önceden doğrular: Sorgunun, boş olmayan/yorum içermeyen tam olarak bir ifade şeklinde ayrıştırılması ve öndeki gerçek belirtecinin (boşluklar, yorumlar ve noktalama işaretleri temizlendikten sonra) SELECT, WITH, EXPLAIN, SHOW, VALUES veya TABLE ifadelerinden biri olması gerekir. İşlem kontrol fiilleri, DML, DDL, CALL, COPY, DO, SET/RESET ve diğer tüm ifadeler, herhangi bir veritabanı işlemi gerçekleşmeden önce reddedilir. PostgreSQL'in READ ONLY modu; veri değiştiren CTE'ler, yazma işlemleri üzerindeki EXPLAIN ANALYZE ve uçucu yan etkiler için destek sağlamaya devam eder. Bu sorun şu pgAdmin 4 sürümlerini etkilemektedir: 9.13'ten 9.16 öncesine kadar.
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 | 9.13 ≤ 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.