CVE-2025-59789
Açıklama
Apache bRPC'deki (versiyon < 1.15.0) json2pb bileşeninde tüm platformlarda mevcut olan kontrolsüz özyineleme, uzaktaki saldırganların derin özyinelemeli json verileri göndererek sunucunun çökmesine neden olmasına olanak tanır. Kök Neden: bRPC json2pb bileşeni, ağdan gelen json verilerini ayrıştırmak için rapidjson kullanır. rapidjson ayrıştırıcısı varsayılan olarak özyinelemeli bir ayrıştırma yöntemi kullanır. Giriş json verisi büyük bir özyinelemeli yapı derinliğine sahipse, ayrıştırıcı fonksiyon yığın taşmasına (stack overflow) yol açabilir. Etkilenen Senaryolar: Güvenilmeyen ağlardan gelen http+json isteklerine hizmet vermek için protobuf mesajı ile bRPC sunucusunu kullanmak veya güvenilmeyen girdilerden gelen json verilerini dönüştürmek için doğrudan JsonToProtoMessage kullanmak. Nasıl Düzeltilir: (Aşağıdaki seçeneklerden birini seçin) 1. bRPC'yi bu sorunu düzelten 1.15.0 versiyonuna yükseltin. 2. Şu yamayı uygulayın: https://github.com/apache/brpc/pull/3099 Not: Hangi seçeneği seçerseniz seçin, düzeltmenin varsayılan değeri 100 olan bir özyineleme derinliği sınırı getirdiğini bilmelisiniz. Bu durum şu fonksiyonları etkiler: ProtoMessageToJson, ProtoMessageToProtoJson, JsonToProtoMessage ve ProtoJsonToProtoMessage. İstekleriniz limiti aşan derinliğe sahip json veya protobuf mesajları içeriyorsa, düzeltme uygulandıktan sonra istek başarısız olacaktır. Limiti değiştirmek için gflag json2pb_max_recursion_depth değerini düzenleyebilirsiniz.
Nasıl düzeltilir
- apache brpc1.15.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| apache brpc | v < 1.15.0 | 1.15.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.