CVE-2024-24806
Açıklama
libuv, asenkron G/Ç odaklı çok platform destekli bir kütüphanedir. `src/unix/getaddrinfo.c` içindeki `uv_getaddrinfo` fonksiyonu (ve bunun Windows karşılığı olan `src/win/getaddrinfo.c`), `getaddrinfo` fonksiyonunu çağırmadan önce ana bilgisayar adlarını (hostnames) 256 karaktere kadar kırpar. Bu davranış, `getaddrinfo` tarafından geçerli kabul edilen `0x00007f000001` gibi adresler oluşturmak için istismar edilebilir ve bir saldırganın geliştirici kontrollerini atlayarak istenmeyen IP adreslerine çözümlenen yükler hazırlamasına izin verebilir. Güvenlik açığı, `uv_getaddrinfo` ve ardından `uv__idna_toascii` içerisinde `hostname_ascii` değişkeninin (256 bayt uzunluğunda) işlenme biçiminden kaynaklanmaktadır. Ana bilgisayar adı 256 karakteri aştığında, sonlandırıcı null baytı olmadan kırpılır. Sonuç olarak saldırganlar, dahili API'lere veya kullanıcıların `username.example.com` sayfalarına sahip olmasına izin veren web sitelerine (MySpace benzeri) erişebilirler. Kötü niyetli bir kullanıcının uzun ve savunmasız bir kullanıcı adı seçmesi durumunda, bu kullanıcı sayfalarını tarayan veya önbelleğe alan dahili servisler SSRF saldırılarına maruz kalabilir. Bu sorun 1.48.0 sürümünde giderilmiştir. Kullanıcıların yükseltme yapmaları önerilir. Bu güvenlik açığı için bilinen bir geçici çözüm yoktur.
Nasıl düzeltilir
- libuv libuv1.48.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| libuv libuv | 1.24.0 ≤ v < 1.48.0 | 1.48.0 |
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.