CVE-2024-32655
Açıklama
Npgsql, PostgreSQL için .NET veri sağlayıcısıdır. `src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs` dosyasındaki `WriteBind()` metodu, mesaj uzunluğunu ve parametre uzunluklarının toplamını saklamak için `int` değişkenleri kullanır. Parametre uzunluklarının toplamı çok büyüdüğünde her iki değişken de taşma yapar. Bu durum, veritabanına ağ üzerinden gönderilecek bir Postgres protokol mesajı oluşturulurken Npgsql'nin çok küçük bir mesaj boyutu yazmasına neden olur. Mesajı ayrıştırırken veritabanı yalnızca az sayıda bayt okuyacak ve eski mesaja ait olan sonraki tüm baytları yeni mesajlar olarak değerlendirecektir. Saldırganlar bunu, bağlantıya rastgele Postgres protokol mesajları enjekte etmek için kötüye kullanabilir ve bu da uygulama adına rastgele SQL ifadelerinin yürütülmesine yol açabilir. Bu güvenlik açığı 4.0.14, 4.1.13, 5.0.18, 6.0.11, 7.0.7 ve 8.0.3 sürümlerinde düzeltilmiştir.
Nasıl düzeltilir
- Npgsql8.0.3, 4.0.14, 4.1.13, 5.0.18, 6.0.11, 7.0.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| NpgsqlNuGet | 8.0.0 ≤ v < 8.0.3, v < 4.0.14, 4.1.0 ≤ v < 4.1.13, 5.0.0 ≤ v < 5.0.18, 6.0.0 ≤ v < 6.0.11, 7.0.0 ≤ v < 7.0.7 | 8.0.3, 4.0.14, 4.1.13, 5.0.18, 6.0.11, 7.0.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.
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.