HTTP/2 Vulnerabilitesi ve MadeYouReset
Günümüzde internet güvenliği, dijital dünyanın çok önemli bir kısmını oluşturuyor. Özellikle HTTP/2 protokolü, web uygulamalarının performansını artırmak için innovatif özellikler sunarken, bazı vulnerabiliteler de içermektedir. Son günlerde, üzerine çokça konuşulan bir zafiyet olan MadeYouReset, HTTP/2 protokolüne yönelik ciddi bir tehdit oluşturmaktadır.
MadeYouReset, denial-of-service (DoS) saldırıları gerçekleştirmek için kullanılabilecek bir yöntemdir. Araştırmacılar Gal Bar Nahum, Anat Bremler-Barr ve Yaniv Harel’in yaptığı açıklamalara göre, bu zafiyet, temel olarak bir saldırganın TCP bağlantısı üzerinden imzalanmış istemciden gelen 100 eşzamanlı HTTP/2 isteği limitinin aşılmasına olanak tanımaktadır. Bu limit, DoS saldırılarını önlemek amacıyla oluşturulmuş olsa da, MadeYouReset ile bu sınırlama görmezden gelinmektedir.
Vulnerabilitenin Etkileri
MadeYouReset ile, kötü niyetli bir kullanıcı binlerce istek gönderebilir ve bu durum, meşru kullanıcılar için bir DoS koşulu yaratabilir. Bazı üretici sürümlerinde ise bu zafiyet, memory overflow (bellek taşması) hatalarına neden olabilmektedir. Bu zafiyet, CVE-2025-8671 kimlik numarası ile tanımlanmıştır ve Apache Tomcat, F5 BIG-IP gibi çeşitli ürünleri etkilemektedir.
HTTP/2’daki önceki zafiyetlerle, özellikle Rapid Reset (CVE-2023-44487) ve HTTP/2 CONTINUATION Flood ile ilgili benzerlikler vardır. Bu zafiyetler, HTTP/2 protokolünde belirli çerçeveleri kullanarak gerçekleştirilmiştir. MadeYouReset, Rapid Reset’in bir uzantısı olarak çalışmakta ve bu da saldırganların hedef aldıkları kaynakları tüketebilmeleri için ekstra bir yol sağlamaktadır.
Protokol İhlalleri ve Zafiyetin Çalışma Şekli
MadeYouReset’in başarılı olabilmesi için, belirli bir sürecin izlenmesi gerekmektedir. İlk olarak, geçerli bir istekle başlayan bir akış oluşturulmalı ve ardından akış hatası tetiklenmelidir. Bu, sunucunun yanıtı üretmeye devam etmesine rağmen RST_STREAM çerçevesini göndermesine neden olur. Bar Nahum, “Belirli hatalı kontrol çerçeveleri göndererek veya protokol sıralamasını beklenmedik bir şekilde ihlal ederek, sunucunun daha önce geçerli bir isteği taşıyan bir akış için RST_STREAM göndermesini sağlayabiliriz,” demektedir.
Sunucunun RST_STREAM çerçevelerini göndermesine neden olan altı temel işlem şu şekildedir:
- WINDOW_UPDATE çerçevesi 0 ile arttırılmış.
- PRIORITY çerçevesinin uzunluğu 5 olmayan bir değerle belirlenmiş.
- Kendine bağımlı hale getiren bir PRIORITY çerçevesi oluşturulmuş.
- WINDOW_UPDATE çerçevesinin artışı, pencere boyutunu 2^31 − 1 değerini aşacak şekilde belirlenmiş.
- HEADERS çerçevesi, akış kapatıldıktan sonra gönderilmiş.
- Akış kapatıldıktan sonra gönderilen DATA çerçevesi.
Bu saldırının önemli bir yanı, kötü niyetli bir kullanıcının RST_STREAM çerçevesi göndermesine gerek olmadığını göstermektedir. Bu durum, Rapid Reset mitigasyonlarını tamamen aşarak aynı etkiyi elde etmesine olanak tanımaktadır.
HTTP/1.1’in Zayıflıkları
MadeYouReset’in keşfi, aynı zamanda uygulama güvenliği şirketi PortSwigger tarafından açıklanan yeni HTTP/1.1 desync saldırılarıyla tamamlanmaktadır. HTTP isteklerini smuggling yaparak birçok web sitesini tehlikeye atan bu saldırılar, karmaşık ve güvenli bir internet ortamı yaratma çabalarını tehdit etmektedir.
PortSwigger’ın James Kettle, “HTTP/1.1 temel bir hataya sahiptir: Saldırganlar, bir isteğin ne zaman bittiği ve diğerinin ne zaman başladığı konusunda büyük bir belirsizlik yaratabilir,” ifadelerini kullanmaktadır. HTTP/2, bu belirsizlikleri ortadan kaldırarak, desync saldırılarını neredeyse imkânsız hale getirmektedir. Ancak, yalnızca HTTP/2’yi etkinleştirmek yeterli değildir; bunun yanı sıra, geri proxy ve kaynak sunucusu arasındaki bağlantının da HTTP/2’nin sağladığı avantajlardan faydalanması gerekmektedir.
Bu gelişmeler, web altyapısının korunması için HTTP/2‘nin daha güvenli hale getirilmesi gerektiğini gösteriyor. Modern web protokollerinin karmaşıklığı, güvenlik açığının nasıl istismar edileceğine dair yeniliklerin ortaya çıkmasına neden olmaktadır. Bu nedenle, herkesin dikkatli olması ve sistemlerini güncel tutması büyük önem taşımaktadır.


