Siber Güvenlik

PostgreSQL, 12 Yıllık Mantıksal Kod Çözme Açığını Kapatıyor: Kopyalama Hesaplarıyla Kod Çalıştırma Riski Ortadan Kalktı

PostgreSQL, 12 Yıllık Mantıksal Kod Çözme Açığını Kapatıyor: Kopyalama Hesaplarıyla Kod Çalıştırma Riski Ortadan Kalktı
Malta, Avrupa'nın Hawaii'si! Hem eğlen hem İngilizce öğren. Katıl →

PostgreSQL, veritabanı sunucusunu çalıştıran işletim sistemi kullanıcısı yetkisiyle rastgele kod çalıştırmaya olanak tanıyan ciddi bir güvenlik açığını gidermek için yeni güncellemeler yayınladı. Bu açık, REPLICATION (kopyalama) özelliğine sahip hesapların kötüye kullanılmasına yol açıyordu.

CVE-2026-6471 koduyla takip edilen bu güvenlik açığı (CVSS skoru: 7.2), tam 12 yıldır sistemde bulunuyordu. Mantıksal kod çözme (logical decoding) özelliğinin 2014 yılında PostgreSQL 9.4 sürümüyle tanıtılmasıyla ortaya çıkan açık, PostgreSQL 18.6, 17.11, 16.15, 15.19 ve 14.24 sürümlerinden önceki tüm sürümleri etkiliyor.

Açığın istismar edilebilmesi için REPLICATION özelliğine sahip bir hesap ve "wal_level = logical" ayarıyla çalışan bir sunucu gerekiyor. Yedekleme araçları, yedek sunucular, değişken veri yakalama (CDC) hatları ve izleme sistemleri genellikle rutin olarak bu özelliği barındırıyor.

13 Ağustos'ta kullanıma sunulan yama, "output_plugin_libraries" adında yeni bir sunucu parametresi ekliyor. Bu parametre, mantıksal kod çözme çıktı eklentileri olarak hangi kütüphanelerin yüklenebileceğini belirliyor ve varsayılan olarak "pgoutput, test_decoding" değerlerini alıyor.

wal2json ve decoderbufs gibi farklı çıktı eklentileri kullanan sistemlerde, güncelleme sonrası mantıksal kod çözme işlemleri reddedilecek. Sistem yöneticileri, ilgili kütüphaneyi bu yeni listeye ekleyip sunucu yapılandırmasını yeniden yükleyene kadar bu durum devam edecek.

PostgreSQL Küresel Geliştirme Grubu, 18.6 sürüm notlarında konuyla ilgili şu açıklamayı yaptı: "Daha önce kopyalama yetkisine sahip kullanıcılar, mantıksal kod çözme için yüklenebilir herhangi bir kütüphaneyi seçebiliyordu ve bu durum her türlü istismara kapı aralıyordu. Daha önce sorunsuz çalışan sistemleri bozmadan bu açığı kapatmak için izin verilen çıktı eklentilerinin bir beyaz listesini devreye soktuk."

PostgreSQL Projesi, bu güvenlik açığını ortaya çıkaran Vladimir Tokarev ve Yu Kunpeng'ye teşekkür etti.

Tokarev, veri güvenliği şirketi Cyera Research için 1 Eylül'de yayımladığı detaylı bir raporda, bu güvenlik açığını PostGREShell olarak adlandırdı.

Cyera'nın raporuna göre, CREATE_REPLICATION_SLOT komutuyla sağlanan eklenti adı, doğrudan kütüphaneyi yükleyen fonksiyona iletiliyor.

PostgreSQL'de, süper kullanıcı olmayanları yönetici tarafından kontrol edilen tek bir dizinle sınırlayan mevcut eklenti yolu kısıtlamaları, kopyalama (replication) yolunda hiç devreye girmiyor. Kopyalama protokolünün ayrıştırıcısı, çift tırnak içine alınmış bir eklenti adının içindeki neredeyse tüm karakterleri kabul ediyor. Yol ayırıcılar ve "../" gibi dizin geçiş komutları da buna dahil olduğu için, sistemde yazıldığı tam dosya sistemi yolu doğrudan yükleyiciye ulaşıyor.

Malta'da Eğlen, İngilizce Öğren

Kaynak: The Hacker News