CVE-2024-21631
Açıklama
Vapor, Swift için bir HTTP web çerçevesidir. Versiyon 4.90.0 öncesinde, Vapor'ın `vapor_urlparser_parse` fonksiyonu, bir URI'nin bileşenlerini ayrıştırırken `uint16_t` indeksleri kullanır; bu durum güvenilmeyen girdiler ayrıştırılırken tamsayı taşmalarına (integer overflow) neden olabilir. Bu güvenlik açığı Vapor'ı doğrudan etkilemez ancak kullanıcı girdilerini doğrulamak için URI türüne güvenen uygulamaları etkileyebilir. URI türü, Vapor içerisinde birçok yerde kullanılır. Bir geliştirici, uygulamasında bir URL'yi temsil etmek için URI kullanmaya karar verebilir (özellikle bu URL daha sonra HTTP Client'a aktarılıyorsa) ve bunun genel özelliklerine ve metotlarına güvenebilir. Ancak, dize aralıklarının 16 bitlik tamsayılara dönüştürülmesi nedeniyle URI, geçerli (ancak anormal derecede uzun) bir URL'yi düzgün şekilde ayrıştıramayabilir. Bir saldırgan, uygulamayı güvenilmeyen bir hedefe yönlendiren bir URL'yi kabul etmeye zorlamak için bu davranışı kullanabilir. Port numarasını sıfırlarla doldurarak, URL yetkisi (authority) ayrıştırıldığında bir tamsayı taşması meydana getirebilir ve sonuç olarak ana makineyi (host) taklit edebilir. Versiyon 4.90.0 bu sorun için bir yama içermektedir. Geçici çözüm olarak, girdi URI olarak ayrıştırılmadan önce kullanıcı girdisini doğrulayın veya mümkünse Foundation'ın `URL` ve `URLComponents` araçlarını kullanın.
Nasıl düzeltilir
- vapor vapor4.90.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| vapor vapor | v < 4.90.0 | 4.90.0 |
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.