
Apache bRPC çerçevesinde, uzak saldırganların özel hazırlanmış JSON verileri göndererek sunucuları çökertmesine olanak verebilecek kritik bir güvenlik açığı keşfedildi.
CVE-2025-59789 olarak takip edilen kusur, tüm platformlarda Apache bRPC’nin 1.15.0’dan önceki tüm sürümlerini etkiliyor.
Güvenlik açığı, Apache bRPC’nin JSON verilerini Protokol Arabelleği mesajlarına dönüştüren json2pb bileşeninde bulunmaktadır.
Bileşen, ağdan alınan JSON verilerini ayrıştırmak için Rapidjson’a dayanır. Rapidjson ayrıştırıcısı varsayılan olarak özyinelemeli bir ayrıştırma yöntemi kullanır.
Saldırganlar derinlemesine iç içe geçmiş özyinelemeli yapılara sahip JSON verileri gönderdiğinde, ayrıştırıcı işlevi yığın belleğini tüketerek yığın taşmasına neden olur.
| Alan | Detaylar |
|---|---|
| CVE Kimliği | CVE-2025-59789 |
| CVSS Puanı | 9.8 (Kritik) |
| Saldırı Vektörü | Ağ |
| Etkilenen Sürümler | Apache bRPC < 1.15.0 |
| Güvenlik Açığı Türü | Kontrolsüz Özyineleme / Yığın Taşması |
Bu, sunucunun çökmesine ve hizmet reddi durumuna yol açmasına neden olur. bRPC sunucularını kullanan kuruluşlar aşağıdaki koşullardan herhangi birini karşılamaları durumunda risk altındadır.
Güvenilmeyen ağlardan gelen HTTP+JSON isteklerini işleyen protobuf mesajlarıyla bir bRPC sunucusu çalıştırma.
JSON’u güvenilmeyen giriş kaynaklarından dönüştürmek için JsonToProtoMessage işlevini kullanan Apache, bu güvenlik sorununu çözmek için iki seçenek sunmuştur:
Bu güvenlik açığına yönelik tam düzeltmeyi içeren Apache bRPC sürüm 1.15.0’a yükseltin. Hemen yükseltme yapamayanlar için GitHub’da bulunan resmi yamayı uygulayın.
Her iki düzeltme de varsayılan değeri 100 olan yeni bir özyineleme derinliği sınırı getirir. Bu değişiklik dört temel işlevi etkiler: ProtoMessageToJson, ProtoMessageToProtoJson, JsonToProtoMessage ve ProtoJsonToProtoMessage.
Kuruluşlar, bu derinlik sınırını aşan JSON veya protobuf mesajları içeren isteklerin, düzeltme uygulandıktan sonra başarısız olacağını unutmamalıdır.
Yöneticiler, kendi özel gereksinimlerini karşılamak için json2pb_max_recursion_length gflag’ı değiştirerek sınırı ayarlayabilirler.
Olası hizmet reddi saldırılarını önlemek için güvenlik ekiplerine ortamlarını değerlendirmeleri ve gerekli yamaları derhal uygulamaları tavsiye edilir.
Günlük siber güvenlik güncellemeleri için bizi Google Haberler, LinkedIn ve X’te takip edin. Hikayelerinizi öne çıkarmak için bizimle iletişime geçin.