CVE-2022-24668
Açıklama
swift-nio-http2 kullanan bir program, bir ağ eşinin ALTSVC veya ORIGIN çerçeveleri göndermesinden kaynaklanan hizmet reddi saldırısına karşı savunmasızdır. Bu saldırı, 1.0.0 ile 1.19.1 arasındaki tüm swift-nio-http2 sürümlerini etkiler. Bu güvenlik açığı, çerçeve ayrıştırması sonrasında ancak çerçeve işlemesi öncesinde oluşan mantıksal bir hatadan kaynaklanmaktadır. ORIGIN ve ALTSVC çerçeveleri şu anda swift-nio-http2 tarafından desteklenmemektedir ve yok sayılmalıdır. Ancak, bunlarla karşılaşan bir kod yolu bunun yerine kasıtlı bir tuzak içermektedir. Bu, orijinal geliştirme sürecinden kalmış ve hiçbir zaman kaldırılmamıştır. ALTSVC veya ORIGIN çerçevesi göndermek herhangi bir özel izin gerektirmez, bu nedenle herhangi bir HTTP/2 bağlantı eşi böyle bir çerçeve gönderebilir. İstemciler için bu, bağlandıkları herhangi bir sunucunun bu saldırıyı başlatabileceği anlamına gelir. Sunucular için, bağlanmalarına izin verdikleri herkes böyle bir saldırı başlatabilir. Saldırı düşük çabadadır: bu çerçevelerden birini göndermek çok az kaynak gerektirir. Kullanılabilirlik üzerindeki etkisi yüksektir: çerçevenin alınması sunucuyu anında çökertir, tüm uçuştaki bağlantıları düşürür ve hizmetin yeniden başlatılmasını gerektirir. Bir saldırganın bu çerçeveleri tekrar tekrar göndermesi kolaydır, bu nedenle saldırganlar önemli bir hizmet reddi elde etmek için çok az kaynak gerektirir. Saldırının kendi başına herhangi bir gizlilik veya bütünlük riski yoktur. Bu kontrollü, kasıtlı bir çökmedir. Ancak ani süreç çökmeleri hizmetlerdeki değişmezlerin ihlaline yol açabilir, bu nedenle bu saldırının gizlilik veya bütünlük riskleri taşıyan bir hata durumunu tetiklemek için kullanılması mümkündür. Güvenilmeyen eşlerin hizmetle iletişim kurması engellenebilirse risk azaltılabilir. Bu azaltma birçok hizmet için mevcut değildir. Sorun, ayrıştırma kodunun koşulu doğru şekilde ele alacak şekilde yeniden yazılmasıyla giderilmiştir. Sorun, oss-fuzz tarafından otomatik bulanıklaştırma ile bulunmuştur.
Nasıl düzeltilir
- apple swiftnio_http\/21.19.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apple swiftnio_http\/2 | 1.0.0 ≤ v < 1.19.2 | 1.19.2 |
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.