CVE-2024-43806
Açıklama
Rustix, POSIX benzeri API'ler için güvenli Rust bağlamaları sunan bir settir. `linux_raw` arka ucu kullanılarak `rustix::fs::Dir` kullanıldığında, bir IO hatasıyla karşılaşıldığında yineleyicinin (iterator) "takılı kalması" mümkündür. Bu durum, `rustix::fs::Dir::read_more` içindeki bir bellek aşırı tahsis sorunu ile birleştiğinde, hızlı ve sınırsız bir bellek patlamasına (yoğun kullanılan bir yolda kullanılırsa birkaç saniye içinde gigabaytlarca) neden olabilir ve nihayetinde uygulamanın OOM nedeniyle çökmesine yol açabilir. Belirtiler ilk olarak https://github.com/imsnif/bandwhich/issues/284 adresinde keşfedilmiştir. Söz konusu gönderi, incelememize dair birçok detay içermektedir. Tüm ayrıntılar GHSA-c827-hfw6-qwvm depo danışmanlığında okunabilir. Eğer bir program, dosya bağlantısı kesildikten sonra (veya `Dir` yineleyicisini takılı durumda bırakan başka herhangi bir işlemden sonra) dosya tanımlayıcısı ile bir dizine erişmeye çalışırsa ve uygulama bir hata gördükten sonra işlemi durdurmazsa, bu durum bellek patlamasına neden olabilir. Örnek olarak, Linux'un çeşitli sanal dosya sistemleri (örneğin `/proc`, `/sys`), kendiliğinden ortaya çıkan ve kaybolan dizinler içerebilir. Bunlar üzerinde doğrudan veya dolaylı olarak (örneğin `procfs` crate'i ile) `rustix::fs::Dir` kullanarak yineleme yapmaya çalışmak, eğer uygulama hatalarda devam etmeye karar verirse bu hata durumunu tetikleyebilir. Savunmasız bir hedefin uygulama detayları hakkında bilgi sahibi olan bir saldırgan, mevcut API'lerin herhangi biri veya birkaçının kombinasyonu aracılığıyla bu hata durumunu tetiklemeye çalışabilir. Başarılı olursa, uygulama ana makinesinin belleği hızla tükenecek ve ardından uygulama muhtemelen bir OOM killer tarafından sonlandırılacaktır, bu da hizmet reddine (DoS) yol açacaktır. Bu sorun 0.35.15, 0.36.16, 0.37.25 ve 0.38.19 sürüm versiyonlarında giderilmiştir. Kullanıcıların yükseltme yapmaları önerilir. Bu sorun için bilinen bir geçici çözüm yoktur.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| bytecodealliance rustix | >= 0.35.11, < 0.35.15, >= 0.36.0, < 0.36.16, >= 0.37.0, < 0.37.25, >= 0.38.0, < 0.38.19 | — |
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.