CVE-2026-84747
Açıklama
Tüm platformlarda Apache bRPC (versiyon < 1.18.0) üzerindeki HTTP protokolü uygulamasındaki yorumlama çakışması, uzaktaki saldırganların bir ön proxy tarafından uygulanan erişim kontrol kurallarını atlatmasına olanak tanır. Kök Neden: bRPC'nin HTTP protokolündeki metod dağıtım fonksiyonu FindMethodPropertyByURI(), istek yolunu boş alanları atlayan bir dize ayırıcı ile böler; bu nedenle //flags, /flags// ve /flags//port gibi boş yol bölümleri içeren yollar, daraltılmış halleri olan /flags ile aynı metoda yönlendirilir. RFC 3986 uyarınca bunlar farklı yollardır. Bir ACL uygulayan ön proxy (örneğin /flags gibi yerleşik servislere erişimi engelleyen), yalnızca daraltılmış hali eşleştirir ve bu nedenle doldurulmuş ifadeyi bRPC sunucusuna iletir; burada ifade, sanki daraltılmış formuymuş gibi işlenir. Bu farklılık, //flags?setvalue= ifadesinin, /flags'in erişimine izin verilmeyen yerleşik bir servise ulaşmasını sağlar. Ek olarak, HTTP/2 uygulaması :path sözde başlığını hiçbir zaman doğrulamamıştır; bu nedenle RFC 9113 bölüm 8.3.1'in aksine, :path içermeyen veya :path değeri '/' ile başlamayan ya da yıldız formu '*' olmayan istekler reddedilmemiştir. Etkilenen Senaryolar: Apache bRPC'nin, gerçek istek yolu üzerinde erişim kontrolü (ACL) kararları veren bir ön proxy veya ağ geçidi arkasında konuşlandırıldığı ve bRPC sunucusunun bu proxydan gelen HTTP veya HTTP/2 trafiğini kabul ettiği durumlar. Bu tür konuşlandırmalarda bir saldırgan, ön proxynin engellemeyi amaçladığı bir kaynağa ulaşmak için boş yol bölümleri içeren bir yol gönderebilir. Nasıl Düzeltilir: (Aşağıdaki seçeneklerden birini seçin) 1. bRPC'yi bu sorunu düzelten versiyon 1.18.0'a yükseltin. 2. Şu yamayı uygulayın: https://github.com/apache/brpc/pull/3512 Not: Düzeltme uygulandıktan sonra, boş yol bölümleri (ardışık eğik çizgiler) içeren HTTP ve HTTP/2 istek yolları varsayılan olarak reddedilir ve boş olan veya hem '/' ile başlamayan hem de '*' değerine eşit olmayan HTTP/2 :path değerleri reddedilir. Önceki esnek davranışa bağımlı olan konuşlandırmalar, güvenilmeyen trafiğe açık sunucular için önerilmeyen -http_allow_empty_path_segments gflag'ini açarak bu davranışı geri getirebilir.
Nasıl düzeltilir
- Apache Software Foundation Apache bRPC1.18.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Apache Software Foundation Apache bRPC | v < 1.18.0 | 1.18.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.