CVE-2024-29186
Açıklama
Bref, kullanıcıların Amazon Web Services üzerinde PHP ile sunucusuz (serverless) yapıya geçmelerine yardımcı olan açık kaynaklı bir projedir. 2.1.17 sürümü öncesindeki Bref, Event-Driven Function çalışma zamanı ile kullanıldığında ve handler bir `RequestHandlerInterface` olduğunda, Lambda olayı bir PSR7 nesnesine dönüştürülür. Dönüştürme işlemi sırasında, istek bir MultiPart ise her bir parça ayrıştırılır. Ayrıştırma işleminde, her parçanın `Content-Type` başlığı `Riverline/multipart-parser` kütüphanesi kullanılarak okunur. Kütüphane, `StreamedPart::parseHeaderContent` fonksiyonunda, başlık değeri üzerinde yavaş çok baytlı (multi-byte) dize işlemleri gerçekleştirir. Tam olarak, `mb_convert_encoding` fonksiyonu, başlık değerinden okunan birinci (`$string`) ve üçüncü (`$from_encoding`) parametrelerle birlikte kullanılır. Bir saldırgan, sunucuyu uzun işlemler yapmaya zorlayacak özel olarak hazırlanmış istekler göndererek sonuç olarak faturalandırılan sürenin uzamasına neden olabilir. Saldırının aşağıdaki gereksinimleri ve sınırlamaları vardır: Lambda'nın Event-Driven Function çalışma zamanını ve `RequestHandlerInterface` handler'ını kullanması ve POST isteklerini kabul eden en az bir uç nokta uygulaması gerekir; saldırgan 6 MB'a kadar uzunlukta istekler gönderebilir (bu, Bref'in varsayılan 1024 MB RAM Lambda imajıyla 400 ms ile 500 ms arasında bir faturalandırma süresine neden olmak için yeterlidir); eğer Lambda <= php-82 bir PHP çalışma zamanı kullanıyorsa, Bref'in varsayılan 1024 MB RAM Lambda imajındaki faturalandırılan süre her istek için 900 ms'nin üzerine çıkarılabileceği için etki daha yüksektir. İstek başlığının toplam maksimum yaklaşık 10 KB boyutuna izin veren bir sınırlaması olduğu için, bu zafiyetin yalnızca istek gövdesinden okunan başlıklara uygulandığına dikkat edilmelidir. 2.1.17 sürümü bu sorun için bir düzeltme içermektedir.
Nasıl düzeltilir
- mnapoli bref2.1.17 ya da sonraki bir sürüm
- bref/bref2.1.17 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| mnapoli bref | v < 2.1.17 | 2.1.17 |
| bref/brefPackagist | v < 2.1.17 | 2.1.17 |
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.