CVE-2022-31197

Yüksek

Açıklama

PostgreSQL JDBC Driver (kısaca PgJDBC), Java programlarının standart ve veritabanından bağımsız Java kodu kullanarak bir PostgreSQL veritabanına bağlanmasına olanak tanır. `java.sql.ResultRow.refreshRow()` metodunun PGJDBC uygulaması, sütun adlarını kaçış karakterleriyle temizlemediği için örneğin `;` gibi bir ifade sonlandırıcı içeren kötü niyetli bir sütun adı SQL injection riskine yol açabilir. Bu durum, uygulamanın JDBC kullanıcısı olarak ek SQL komutlarının çalıştırılmasına neden olabilir. `ResultSet.refreshRow()` metodunu çağırmayan kullanıcı uygulamaları etkilenmez. Bu metodu çağıran kullanıcı uygulamaları ise, JDBC uygulaması üzerinden sorguladıkları temel veritabanının bir saldırganın kontrolünde olması durumunda etkilenir. Saldırı, saldırganın kullanıcıyı, sütun adları kötü niyetli SQL içerikli bir tabloya karşı SQL yürütmeye ikna etmesini ve ardından ResultSet üzerinde `refreshRow()` metodunu çağırtmasını gerektirir. Uygulamanın JDBC kullanıcısının ve şema sahibinin aynı olması gerekmediğine dikkat edilmelidir. Potansiyel olarak kötü niyetli ve daha düşük yetkili kullanıcılara ait veritabanı şemalarını sorgulayan ve ayrıcalıklı bir kullanıcı olarak çalışan bir JDBC uygulaması savunmasız olacaktır. Bu durumda, kötü niyetli kullanıcının, uygulamanın komutları ayrıcalıklı kullanıcı olarak yürütmesine neden olacak bir şema oluşturması mümkün olabilir. Yamalanmış sürümler `42.2.26` ve `42.4.1` olarak yayınlanacaktır. Kullanıcıların yükseltme yapmaları önerilir. Bu sorun için bilinen bir geçici çözüm yoktur.

ÖnemYüksek
CVSS7.1
İstismar olasılığı—
ÜrünPostgresql Jdbc Driver
Yayın3 Ağu 2022
İlk görülme3 Ağu 2022
Zayıflık türüCWE-89SQL enjeksiyonu

Nasıl düzeltilir

Güncelleyin
  • postgresql postgresql_jdbc_driver42.2.26, 42.3.7 ya da sonraki bir sürüm
  • org.postgresql:postgresql42.2.26, 42.4.1, 42.3.7 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
postgresql postgresql_jdbc_driverv < 42.2.26, 42.3.0 ≤ v < 42.3.7, 42.4.0, 42.4.142.2.26, 42.3.7
debian debian_linux10.0—
fedoraproject fedora35, 36—
org.postgresql:postgresqlMavenv < 42.2.26, 42.4.0 ≤ v < 42.4.1, 42.3.0 ≤ v < 42.3.742.2.26, 42.4.1, 42.3.7

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.

CVE-2022-31197 · Postgresql Jdbc Driver · Dark Radar