Özel olarak tasarlanmış dizinleri işlerken e2fsck'teki güvenlik açığı

Paketin bir parçası olarak sağlanan e2fsck yardımcı programında e2fsprogs, tanımlanmış Güvenlik açığı (CVE-2019-5188), özel olarak tasarlanmış dizinler içeren bir dosya sistemini kontrol ederken saldırganın kodunu çalıştırmanıza olanak tanır. Güvenlik açığı 1.43.3 ila 1.45.4 sürümlerinde doğrulandı. Güncellemede güvenlik açığı düzeltildi e2fsck 1.45.5. Dağıtım kitlerinde sorun hala çözülmemiş durumda (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

Güvenlik açığı, rehash.c dosyasındaki, bir dizinle ilişkili karma tabloları yeniden oluştururken dizindeki tüm dosyaların dizinle eşleşmesini sağlayan mutate_name() işlevindeki bir hatadan kaynaklanıyor. Bir dizinle ilişkili hash_entry yapısının bozulması, saldırganın tahsis edilen arabelleğin dışındaki bir alana veri yazmasına neden olabilir. Karma tablosunda aynı ada sahip birden fazla dosyanın bir dizine bağlı olduğu belirlenirse, e2fsck yardımcı programı isme ~0, ~1 vb. ekleyerek kopya dosyaları yeniden adlandırır. Böyle bir yeniden adlandırma sırasında yeni adı geçici olarak saklamak için yığında 256 bayt boyutunda bir arabellek ayrılır.

Kopyalanacak verinin boyutu "entry->name_len & 0xff" ifadesiyle belirlenir ancak entry->name_len değeri ismin gerçek boyutundan hesaplanmak yerine diskteki bir yapıdan yüklenir. Boyut sıfırsa, dizi indeksi -1 değerini alır ve arabelleğin alt sınırından tamsayı taşması (tamsayı eksikliği) ve yığındaki diğer verilerin üzerine “~0” değeri yazılması için koşullar oluşturulur. 64 bit sistemler için, güvenlik açığından yararlanma olasılığı düşük olarak değerlendirilir ve yığın boyutunda herhangi bir kısıtlama gerektirmez (ulimit -s sınırsız). 32 bit sistemler için, istismarın mümkün olduğu düşünülür, ancak sonuç büyük ölçüde yürütülebilir dosyanın derleyici tarafından nasıl derlendiğine bağlıdır.

Saldırı gerçekleştirmek için saldırganın ext2, ext3 veya ext4 dosya sisteminin bulunduğu bölümdeki verileri belirli bir şekilde bozması gerekir. Bu işlem süper kullanıcı ayrıcalıkları gerektirdiğinden, e2fsck yardımcı programı harici sürücüleri veya dışarıdan alınan FS görüntülerini tararken güvenlik açığı bir tehdit oluşturur.

Kaynak: opennet.ru

Yorum ekle