« Tüm yayınlar

GeoServer jsonArrayContains SQL Injection: CVE-2023-25158 Regresyonu, RCE Riski

GeoServer'da GHSA-mqjf-5f49-2fjh: jsonArrayContains SQL injection açığı, CVE-2023-25158'in regresyonu, RCE riski taşıyor. Detaylar ve yama bilgisi.

GeoServer/GeoTools'ta jsonArrayContains fonksiyonu üzerinden kimlik doğrulama gerektirmeyen bir SQL injection açığı (GHSA-mqjf-5f49-2fjh, CVSS 9.8) doğrulandı. Sorun, kullanıcı girdisinin escape veya bind parametresi kullanılmadan doğrudan String.format() ile PostgreSQL'in jsonb_path_exists() ifadesine aktarılmasından kaynaklanıyor ve CQL_FILTER üzerinden herkese açık WFS/WMS OGC uç noktalarına erişilebiliyor.

Araştırmacılar, WFS 1.0 ile WFS 2.0 servisleri arasında sömürü yolunun farklılaştığını gösterdi: WFS 2.0 filtreyi bir alt sorguya sararak stacked-query saldırılarını engellerken, WFS 1.0 doğrudan üst düzey WHERE cümlesine enjeksiyona izin veriyor. Bu fark, PostGIS 15 ile GeoServer 2.26.1 kurulu bir laboratuvar ortamında COPY ... TO PROGRAM üzerinden postgres kullanıcısı olarak shell erişimine (RCE) kadar uzanan bir saldırı zincirine dönüştürüldü. Süperuser yetkisi olmayan ortamlarda dahi hata tabanlı ve zaman tabanlı veri sızdırma hâlâ mümkün.

Önemli nokta: GeoTools'un kendi danışma metni, bu açığın 2023'teki CVE-2023-25158'in bir regresyonu olduğunu ve o zamanki hazırlanmış ifadeler/encode fonksiyonlarını devre dışı bırakma önlemlerinin bu varyanta karşı işe yaramadığını belirtiyor. Açık, CVE atanmadan önce kamuya açık şekilde paylaşıldı ve saatler içinde tarama girişimleri gözlemlendi; yamalar GeoServer 3.0.1/2.28.5/2.27.6 ve GeoTools 35.1/34.5/33.6 sürümlerinde yayınlandı. PostGIS ile GeoServer çalıştıran ekiplerin acilen güncelleme yapması ve mevcut mitigasyonların yetersizliğini göz önünde bulundurması gerekiyor.