Yeni keşfedilen “CONTINUATION Flood” adı verilen HTTP/2 protokolü güvenlik açıkları, bazı uygulamalarda hizmet reddi (DoS) saldırılarına, tek TCP bağlantısıyla web sunucularının çökmesine yol açabilir.
HTTP/2, verimli veri iletimi için ikili çerçeveleme, tek bir bağlantı üzerinden birden fazla istek ve yanıta izin vermek için çoğullama ve ek yükü azaltmak için başlık sıkıştırması sunarak web performansını artırmak üzere tasarlanmış, 2015 yılında standartlaştırılan HTTP protokolünün bir güncellemesidir.
Yeni CONTINUATION Flood güvenlik açıkları, protokolün birçok uygulamasında uygun şekilde sınırlandırılmayan veya kontrol edilmeyen HTTP/2 CONTINUATION çerçevelerinin kullanımıyla ilgili olduğunu söyleyen araştırmacı Barket Nowotarski tarafından keşfedildi.
HTTP/2 mesajları, bloklar halinde serileştirilmiş başlık ve fragman bölümlerini içerir. Bu bloklar iletim için birden fazla çerçeveye bölünebilir ve CONTINUATION çerçeveleri akışın birleştirilmesi için kullanılır.
Birçok uygulamada uygun çerçeve kontrollerinin ihmal edilmesi, tehdit aktörlerinin 'END_HEADERS' işaretini ayarlamayarak potansiyel olarak çok uzun bir çerçeve dizisi göndermesine olanak tanır ve bu çerçeveler yetersiz bellek çökmeleri veya CPU kaynaklarının tükenmesi nedeniyle sunucu kesintilerine yol açar. işlem görüyor.
Araştırmacı, yetersiz bellek koşullarının, bazı uygulamalarda tek bir HTTP/2 TCP bağlantısı kullanıldığında sunucunun çökmesine yol açabileceği konusunda uyardı.
Nowotarski şöyle açıklıyor: “Belleğin Yetersizliği muhtemelen en sıkıcı ama en şiddetli vakalardır. Bunda özel bir şey yok: garip bir mantık yok, ilginç bir yarış durumu yok.”
“OOM'a izin veren uygulamalar, kullanılarak oluşturulan başlık listesinin boyutunu sınırlamadı CONTINUATION
çerçeveler.”
“Başlık zaman aşımı olmayan uygulamalar, sunucunun çökmesi için yalnızca tek bir HTTP/2 bağlantısı gerektiriyordu.”
CERT Koordinasyon Merkezi'nden (CERT-CC) bugün yayınlanan bir uyarı, bu saldırılara karşı savunmasız farklı HTTP/2 uygulamalarına karşılık gelen çeşitli CVE kimliklerini listeliyor.
Bu uygulamalar, aşağıda açıklandığı gibi, bellek sızıntıları, bellek tüketimi ve CPU tükenmesi dahil olmak üzere çeşitli düzeylerde hizmet reddi saldırılarına izin verir:
- CVE-2024-27983: Node.js HTTP/2 sunucusunu etkiler. Birkaç HTTP/2 çerçevesi göndermek, yarış durumu nedeniyle bellek sızıntısına neden olabilir ve bu da potansiyel bir DoS'a yol açabilir.
- CVE-2024-27919: Envoy'un oghttp codec'ini etkiler. Başlık haritası sınırları aşıldığında isteğin sıfırlanmaması nedeniyle sınırsız bellek tüketimi.
- CVE-2024-2758: Tempesta FW ile ilgilidir. Hız sınırları, boş CONTINUATION çerçeveleri saldırılarını etkili bir şekilde engellemiyor ve potansiyel olarak DoS'a izin veriyor.
- CVE-2024-2653: Amphp/http'yi etkiler. CONTINUATION çerçevelerini sınırsız bir arabellekte toplar ve başlık boyutu sınırı aşılırsa OOM çökmesi riskiyle karşı karşıya kalır.
- CVE-2023-45288: Go'nun net/http ve net/http2 paketlerini etkiler. Saldırganın keyfi olarak büyük bir başlık kümesi göndermesine izin vererek aşırı CPU tüketimine neden olur.
- CVE-2024-28182: CONTINUATION çerçevelerini almaya devam eden ve uygun akış sıfırlama geri çağrısı olmadan DoS'a yol açan nghttp2 kitaplığını kullanan bir uygulamayı içerir.
- CVE-2024-27316: Apache Httpd'yi etkiler. END_HEADERS bayrağı ayarlanmadan sürekli CONTINUATION çerçeve akışı gönderilebilir ve bu da isteklerin hatalı şekilde sonlandırılmasına neden olabilir.
- CVE-2024-31309: Apache Traffic Server'ı etkiler. HTTP/2 DEVAM DoS saldırısı sunucuda aşırı kaynak tüketimine neden olabilir.
- CVE-2024-30255: Envoy 1.29.2 veya önceki sürümlerini etkiler. Önemli sunucu kaynaklarını tüketen CONTINUATION çerçevelerinin taşması nedeniyle CPU tükenmesine karşı savunmasız.
Şiddetli etki
Şu ana kadar CERT-CC'ye göre yukarıdaki CVE'lerden en az birinden etkilendiklerini doğrulayan satıcılar ve HTTP/2 kütüphaneleri Red Hat, SUSE Linux, Arista Networks, Apache HTTP Server Project, nghttp2, Node.js'dir. , AMPHP ve Go Programlama Dili.
Nowotarski, sorunun, Ağustos 2023'ten bu yana aktif olarak istismar edilen büyük bulut hizmet sağlayıcıları tarafından geçen Ekim ayında ortaya çıkarılan 'HTTP/2 Hızlı Sıfırlama' saldırısından daha ciddi olduğunu söylüyor.
“Cloudflare Radar'ın tüm internet aktarımının %70'inin üzerindeki HTTP trafik verilerini tahmin ettiği ve etkilenen projelerin öneminin tahmin edildiği göz önüne alındığında, internetin büyük bir kısmının istismar edilmesi kolay bir güvenlik açığından etkilendiğini varsayabileceğimize inanıyorum: çoğu durumda yalnızca tek bir TCP bağlantı sunucunun çökmesine yetti, ” diye uyardı Nowotarski.
Ayrıca araştırmacı, sunucu yöneticilerinin uygun HTTP/2 bilgisi olmadan hata ayıklaması ve hafifletmesinin karmaşık olacağı konusunda uyarıyor.
Bunun nedeni, gelişmiş çerçeve analitiğinin sunucuda etkinleştirilmemesi durumunda (çoğu durumda etkin değildir) kötü amaçlı isteklerin erişim günlüklerinde görünmemesidir.
Tehdit aktörleri genellikle stres yaratan hizmetlerinde ve saldırılarında kullanmak üzere yeni keşfedilen DDoS tekniklerini izlediklerinden, etkilenen sunucuların ve kitaplıkların güvenlik açıklarından etkin bir şekilde yararlanılmadan önce yükseltilmesi kritik öneme sahiptir.