CVE-2026-90484
Açıklama
Apache bRPC'deki MySQL istemci yanıt ayrıştırıcısı, sunucu eşinin sıfır yük uzunluğuna sahip bir yanıt paketi göndermesi durumunda bir null pointer referansı oluşturur. Beyan edilen yük uzunluğu sıfır olan bir yanıt paketi, çerçeve uzunluk kontrolü (is_full_package) tarafından kabul edilir; ardından ayrıştırıcı, nullptr döndüren sınırsız bir 5 baytlık getirme işlemiyle yanıt türü baytını okur ve type = p[4] ifadesi bunu referanslayarak istemci işleminin çökmesine neden olur. Kök Neden: brpc::policy::MysqlReply::ConsumePartialIOBuf içerisinde, tamponlanmış veriler yalnızca sıfır uzunluklu bir paketin 4 baytlık üst bilgisini içerdiğinde buf.fetch(header, 5) nullptr döndürür; ardından kod, null veya sıfır uzunluklu paket kontrolü yapmadan p[4]'ü (ve hızlı kimlik doğrulama yolunda p2[4]'ü) okur. Etkilenen Senaryolar: Kötü niyetli veya ele geçirilmiş bir MySQL sunucusuna (veya bir MITM saldırganına) bağlanan bir brpc MySQL istemcisi, sıfır uzunluklu bir sunucu yanıt paketi ile çöktürülebilir ve bu durum istemcinin hizmet reddine (DoS) uğramasıyla sonuçlanır. Çözüm: Düzeltme, hem ilk yanıt türü belirleme aşamasında hem de hızlı kimlik doğrulama işaretleyicisinden sonra, tür baytı okunmadan önce sıfır uzunluklu yanıt paketlerini reddeder (PARSE_ERROR_ABSOLUTELY_WRONG döndürür). Apache bRPC sürüm 1.18.0'a yükseltin veya https://github.com/apache/brpc/pull/3536 adresindeki PR yamasını uygulayın.
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 | <= 1.11.0 ≤ 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.