CVE-2024-21631

Orta

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.

ÖnemOrta
CVSS6.5
İstismar olasılığı—
ÜrünVapor
Yayın3 Oca 2024
İlk görülme3 Oca 2024

Nasıl düzeltilir

Güncelleyin
  • vapor vapor4.90.0 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
vapor vaporv < 4.90.04.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.

Intelligence 360 paketinde

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.

CVE-2024-21631 · Vapor · Dark Radar