Kritik Fastcgi Kütüphane Kususu, Yürütme Kodu için Gömülü Cihazları Ortaya Çıkarır


FASTCGI kütüphanesinde ciddi bir güvenlik açığı (CVE-2025-23016) hafif web sunucusu iletişiminin temel bileşeni açıklandı, sayısız gömülü ve uzaktan kod yürütme ile IoT cihazlarını tehdit etti.

Web sunucularını (Nginx ve LightTPD gibi) arka uç uygulamalarına bağlamak için yaygın olarak kullanılan FastCgi, genellikle ağ kameraları, yönlendiriciler ve çeşitli akıllı cihazlar gibi kaynak kısıtlı cihazlarda bulunur.

Güvenlik açığına genel bakış

Güvenlik Araştırmacısı Baptiste Mayaud, FastCgi’nin parametre-parçalanma kodunda, özellikle Readparams işlevi içinde kritik bir kusur ortaya çıkardı.

– Reklamcılık –
Google Haberleri

Tipik kullanımda, FASTCGI protokol alışverişleri yapılandırılmış başlıklar ve parametreler aracılığıyla sunucu ve uygulama arasında bilgi ister.

Parametreler, büyüklüklerine bağlı olarak uzunlukları bir veya dört bayt yoluyla işlenen anahtar değeri çiftlerini içerir.

Savunmasız kod:

nameValue = (char *)Malloc(nameLen + valueLen + 2);

Burada, Namelen ve Valuelen’in her ikisi de çok büyük değerlere ayarlandığında bir taşma meydana gelir.

32 bit platformlarda, bunları ekstra 2 bayt ile birlikte eklemek, bir tamsayı sarmasına neden olabilir, bu da daha sonraki yazılar için çok küçük bir tampona yol açan malloc’a tehlikeli bir şekilde küçük bir değer ekleyebilir.

Bu, keyfi kod yürütme için bir yığın tampon taşma klasik vektör oluşturur.

Birçok modern sunucu 64 bit modda çalışırken ve bu spesifik taşmaya karşı bağışık olsa da, gömülü cihazların ve IoT uç noktalarının önemli bir kısmı maliyet ve güç kısıtlamaları nedeniyle hala 32 bit sistemlere dayanmaktadır.

Bu gerçek CVE-2025-23016’nın gerçek dünyadaki etkisini önemli ölçüde artırır. Açıklayıcı bir istismarda, araştırmacılar bir saldırganın nasıl yapabileceğini gösterdiler:

  1. FastCgi’nin parametre ayrıştırmasında bir yığın taşması oluşturmak için tamsayı taşımından yararlanın.
  2. FastCgi’nin dahili akış yapısında (FCGX_Stream), özellikle FillBuffProc işaretçisinde işlev işaretçilerinin üzerine yazın.
  3. Bu işaretçiyi, kontrollü bağımsız değişkenlerle System () gibi bir komut kullanma işlevine yönlendirin, böylece keyfi kod yürütme kazanır.

Örnek Exploit kodu snippet

Aşağıda, savunmasız fastcgi sunucusu aracılığıyla kod yürütme elde etmek için basitleştirilmiş bir saldırı sırası bulunmaktadır:

io.send(makeHeader(1, 1, 8, 0) + makeBeginReqBody(1, 0) + header +
        (p8(0x13) + p8(0x13) + b"b" * 0x26) * 9 +
        p8(0) * (2 * 2) + p32(0xffffffff) + p32(0xffffffff) +
        b"a" * (4 * 4) + b" /bi;nc -lve /bin/sh" + p32(0) * 3 + p32(exe.plt["system"]))

Bu kod, fonksiyon işaretçisinin üzerine yazmak ve ters bir kabuk başlatmak için taşmayı kötüye kullanır.

CVEEtkilenen sürümlerGüvenlik Açığı TürüDarbeSabit
CVE-2025-23016<2.4.5 (sadece 32 bit)Tamsayı/yığın taşmasıUzak Kod Yürütme2.4.5
  • Anında Güncelleme: FastCgi Kütüphanesi 2.4.5 ve daha sonra bu hata için bir düzeltme içerir. Tüm kullanıcılar-esas olarak Embedded Systems-Sweeting güncellemesi derhal FASTCGI’yi dağıtan kullanıcılar.
  • Ağ maruziyetini kısıtlayın: FastCGI iletişimini TCP yerine UNIX soketlerini kullanacak şekilde yapılandırın, yerel işlemlere erişimi sınırlandırır ve uzak saldırı yüzeyini azaltır.
  • İnceleme Yapılandırmaları: Özellikle güvensiz veya kopyalanmış yapılandırma örneklerini kullanarak doğrudan ağda FastCGI bağlantı noktalarını ortaya çıkarmaktan kaçının.

CVE-2025-23016, Web bağlantılı cihazlara güç veren açık kaynaklı altyapıda ince bellek yönetimi hatalarının ortaya koyduğu kalıcı riski vurgular.

Birçok gömülü ve IoT cihazının zamanında yama mekanizmalarından yoksun olduğu için, cihaz üreticileri ve entegratörler yazılım yığınlarını güncellemeye öncelik vermeli ve dağıtımda en iyi güvenlik uygulamalarının izlenmesini sağlamalıdır.

Find this News Interesting! Follow us on Google News, LinkedIn, & X to Get Instant Updates!



Source link