Birçok gömülü ve taşınabilir cihazda kullanılan standart C kütüphaneleri uClibc ve uClibc-ng'de, IP adresini değiştirmek için kullanılabilecek, DNS önbelleğine hayali verilerin eklenmesine izin veren bir güvenlik açığı tespit edilmiştir (CVE atanmamış). Önbellekte rastgele bir alan adı bulunur ve istekler saldırganın sunucusundaki alana yönlendirilir.
Sorun, yönlendiriciler, erişim noktaları ve Nesnelerin İnterneti cihazları için çeşitli Linux yazılımlarının yanı sıra OpenWRT ve Embedded Gentoo gibi gömülü Linux dağıtımlarını da etkiliyor. Güvenlik açığının birçok üreticinin cihazlarında ortaya çıktığı (örneğin, uClibc, Linksys, Netgear ve Axis firmware'inde kullanılıyor) ancak uClibc ve uClibc-ng'de güvenlik açığının giderilmediği için, ürünleri belirli cihazlar ve üreticiler hakkında ayrıntılı bilgi verildiği belirtiliyor. sorun mevcut mu henüz açıklanmadı.
Bu güvenlik açığı, DNS sorgu kodunda tahmin edilebilir işlem tanımlayıcılarının kullanılmasından kaynaklanmaktadır. DNS sorgu kimliği, ek bir port numarası rastgeleleştirmesi yapılmadan, yalnızca bir sayacın artırılmasıyla seçilmiştir; bu da, sahte yanıtlar içeren UDP paketlerinin önceden gönderilmesiyle DNS önbellek zehirlenmesine olanak sağlamıştır (yanıt, gerçek yanıttan önce gelirse kabul edilecektir). sunucu ve doğru kimliği içerir). Kaminsky'nin 2008'de önerdiği yöntemin aksine, işlem kimliğinin tahmin edilmesine bile gerek yoktur, çünkü başlangıçta tahmin edilebilir (rastgele seçilmek yerine, her istekte artırılan 1 olarak başlangıçta ayarlanır).

Tanımlayıcının kaba kuvvetine karşı koruma sağlamak için, spesifikasyon ayrıca, DNS isteklerinin gönderildiği kaynak ağ bağlantı noktalarının rastgele bir dağılımının kullanılmasını önerir; bu, tanımlayıcının yeterince büyük olmamasını telafi eder. Kurgusal bir yanıt oluşturmak için bağlantı noktası rastgeleleştirmesini etkinleştirdiğinizde, 16 bitlik bir tanımlayıcı seçmenin yanı sıra ağ bağlantı noktası numarasını da seçmeniz gerekir. uClibc ve uClibc-ng'de, bu tür rastgeleleştirme açıkça etkinleştirilmemiştir (bin çağrılırken rastgele bir kaynak UDP bağlantı noktası belirtilmemiştir) ve kullanımı işletim sistemi ayarlarına bağlıydı.
Pot rastgeleleştirme devre dışı bırakıldığında, artan istek kimliğinin belirlenmesi önemsiz bir görev olarak işaretlenir. Ancak rastgeleleştirme kullanılsa bile, saldırganın yalnızca 32768-60999 aralığındaki ağ bağlantı noktasını tahmin etmesi yeterlidir; bunun için farklı ağ bağlantı noktalarına büyük eşzamanlı hayali yanıtlar gönderilebilir.

Sorun, uClibc 0.9.33.2 ve uClibc-ng 1.0.40'ın en son sürümleri de dahil olmak üzere, uClibc ve uClibc-ng'nin tüm güncel sürümlerinde doğrulanmıştır. Eylül 2021'de, düzeltmelerin koordineli olarak hazırlanması için güvenlik açığıyla ilgili bilgiler CERT/CC'ye gönderildi. Ocak 2022'de soruna ilişkin veriler, CERT/CC ile iş birliği yapan 200'den fazla üreticiyle paylaşıldı. Mart ayında, uClibc-ng projesinin yöneticisiyle ayrıca iletişime geçme girişiminde bulunuldu, ancak o, güvenlik açığını kendi başına gideremeyeceğini söyledi ve bir çözüm geliştirme konusunda yardım almayı umarak sorunla ilgili bilgilerin kamuya açıklanmasını önerdi. topluluktan düzeltin. Üreticiler arasında NETGEAR, güvenlik açığını ortadan kaldıran bir güncelleme yayınlandığını duyurdu.
Kaynak: opennet.ru
