CVE-2026-56388
Açıklama
Apache bRPC içindeki Redis sunucusu komut ayrıştırıcısı, boş bir RESP dizisini komut başlığı olarak kabul etmektedir. Redis hizmeti etkinleştirilmiş bir bRPC sunucusuna erişebilen uzaktan kimliği doğrulanmamış bir saldırgan, boş bir dizi başlığının ardından bir toplu dize (bulk string) göndererek ayrıştırıcıda sınır dışı yazmaya (out-of-bounds write) neden olabilir ve işlemi çökertebilir. Kök Neden: RedisCommandParser::ConsumeImpl negatif RESP dizi sayılarını reddetmiş ancak sıfırı kabul etmiştir. Komut argüman vektörünü sıfır elemana yeniden boyutlandırmış ve ayrıştırmaya devam etmiştir. Ardından gelen bir toplu dize ayrıştırıldığında, tek indeks koruması bir CHECK idi. Ölümcül günlüklerin (fatal logs) işlemi hemen durdurmadığı yapılandırmalarda, yürütme devam edebilir ve vektör boş olsa bile _args[0] konumuna yazılabilir. Etkilenen Senaryolar: ServerOptions.redis_service seçeneğini etkinleştiren ve güvenilmeyen istemcilerden Redis protokolü trafiği kabul eden dağıtımlar. Sorun, komut işleme veya kimlik doğrulama öncesinde, ayrıştırma sırasında ortaya çıkmaktadır. Nasıl Düzeltilir: 1. bRPC'yi bu sorunu gideren 1.18.0 sürümüne yükseltin. 2. Şu yamayı uygulayın: https://github.com/apache/brpc/pull/3354 Not: Düzeltme, boş RESP dizilerini geçersiz Redis komutları olarak reddeder ve dahili indeks CHECK işlemini açık bir ayrıştırma hatasıyla değiştirir; böylece hatalı biçimlendirilmiş komut akışlarının indekslenmiş bir vektör yazımına ulaşması engellenir.
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.