← CVE Veritabanı

CVE-2026-56388

Kritik

Teknik Veri (Otomatik)

CVSS Skoru
9.1
EPSS
0.3%
CWE
CWE-252
KEV Durumu
Hayır

Yayım tarihi: 21 Ekim 2026

Redis sunucu komut parserı, Apache bRPC'de boş bir RESP dizisini komut başlığı olarak kabul eder. Uzaktan kimliği doğrulanmamış bir saldırgan, Redis hizmeti etkin bir bRPC sunucusuna erişebilir ve boş bir dizi başlığını bir toplu dize izleyerek göndererek, parserda sınırların dışına yazma işlemi gerçekleştirerek işlemi çökertebilir. Kök Neden: RedisCommandParser::ConsumeImpl, negatif RESP dizi sayılarını reddeder ancak sıfırı kabul eder. Komut argümanları vektörünü sıfır elemana yeniden boyutlandırır ve ayrıştırmaya devam eder. Bir sonraki toplu dize ayrıştırıldığında, tek indeks koruması bir CHECK'tir. Ölümcül günlüklerin hemen sonlandırılmadığı yapılandırmalarda, yürütme devam edebilir ve vektör boş olmasına rağmen _args[0]'a yazabilir. Etkilenen Senaryolar: Redis hizmeti etkin ve güvenilmeyen istemcilerden Redis protokolü trafiğini kabul eden ServerOptions.redis_service dağıtımları. Sorun, komut işleme veya kimlik doğrulama öncesinde ayrıştırma sırasında ortaya çıkar. Çözüm: 1. bRPC'yi 1.18.0 sürümüne yükseltin, bu sorunları düzeltir. 2. Bu yamayı uygulayın: https://github.com/apache/brpc/pull/3354 Not: Çözüm, boş RESP dizilerini geçersiz Redis komutları olarak reddeder ve iç indeks CHECK'inin yerini, bozuk komut akışlarının dizinli vektör yazmasına düşmeden açık bir ayrıştırma hatası ile değiştirir.

Orijinal açıklama (İngilizce)

The Redis server command parser in Apache bRPC accepts an empty RESP array as a command header. A remote unauthenticated attacker who can reach a bRPC server with Redis service enabled can send an empty array header followed by a bulk string, causing an out-of-bounds write in the parser and crashing the process. Root Cause: RedisCommandParser::ConsumeImpl rejected negative RESP array counts but accepted zero. It resized the command argument vector to zero elements and continued parsing. When a following bulk string was parsed, the only index guard was a CHECK. In configurations where fatal logs do not abort immediately, execution could continue and write to _args[0] even though the vector was empty. Affected Scenarios: Deployments that enable ServerOptions.redis_service and accept Redis protocol traffic from untrusted clients. The issue is reached during parsing before command handling or authentication. How to Fix: 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3354 Note: The fix rejects empty RESP arrays as invalid Redis commands and replaces the internal index CHECK with an explicit parse error so malformed command streams cannot fall through to an indexed vector write.

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.