- Yama var
- Son 7 gün
- CWE-674
CVE-2026-82230
Apache bRPC mcpack2pb ayrıştırıcısında sınırsız özyineleme nedeniyle yığın tükenmesi
- Yayımlandı
- Güncellendi
- 21 Eki 2026
- Açık yaşı
- 7 gün
- Kaydı açan
- apache
ÖzetTürkçe
Apache bRPC bileşeni mcpack2pb içindeki sınırsız özyineleme (uncontrolled recursion), 1.18.0 öncesi sürümlerde (< 1.18.0) tüm platformlarda, uzaktaki saldırganların derinlemesine iç içe geçmiş mcpack verisi göndererek sunucunun çökmesine neden olmasına izin verir. Kök neden: bRPC mcpack2pb ayrıştırıcısı (nshead_mcpack / ubrpc / public_pbrpc isteklerine hizmet vermek için kullanılır) iç içe geçmiş nesneleri ve dizileri herhangi bir derinlik sınırı olmadan özyinelemeli olarak ayrıştırır. Kendine başvuran bir protobuf mesajı için (örneğin tekrarlanan bir mesaj alanı), üretilen ayrıştırıcı gelen mcpack nesnesinin her iç içe geçme seviyesi için bir kez özyinelemeye girer. Derinlemesine iç içe geçmiş bir istek, özyinelemenin sınırsız büyümesine, yığının taşmasına ve sürecin çökmesine yol açar. Etkilenen senaryo: Güvenilmeyen ağdan gelen nshead_mcpack / ubrpc / public_pbrpc isteklerine hizmet vermek için özyinelemeli şemaya sahip bir protobuf mesajı kullanan bRPC sunucusu. Düzeltme: Aşağıdaki seçeneklerden birini tercih edin: 1. Sorunu düzelten 1.18.0 sürümüne yükseltin. 2. Yama uygulayın. Hangi seçeneği seçerseniz seçin, düzeltmenin belgelenmiş ayrıştırma derinlik sınırı MAX_DEPTH (128) değerini ayrıştırma yolunda uyguladığını bilmelisiniz; bu sınır serileştiricinin zaten uyguladığı sınırla aynıdır. Düzeltme uygulandıktan sonra 128 seviyeden daha derin iç içe geçmiş mcpack mesajları içeren istekler başarısız olacaktır.
Kaynaktaki açıklama (İngilizce)
Uncontrolled recursion in the mcpack2pb component in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to make the server crash via sending deeply nested mcpack data.
Root Cause:
The bRPC mcpack2pb parser (used to serve nshead_mcpack / ubrpc / public_pbrpc requests) recursively parses nested objects and arrays without any depth limit. For a protobuf message that references itself (e.g. a repeated message field), the generated parser recurses once per nesting level of the incoming mcpack object. A deeply nested request makes the recursion grow unbounded, overflow the stack and crash the process.
Affected Scenarios:
Use bRPC server with a recursive-schema protobuf message to serve nshead_mcpack / ubrpc / public_pbrpc requests from untrusted network.
How to Fix:
(Choose one of the following options)
1. Upgrade bRPC to version 1.18.0, which fixes this issue.
2. Apply this patch: https://github.com/apache/brpc/pull/3499
Note:
No matter which option you choose, you should know that the fix enforces the documented parsing depth limit MAX_DEPTH (128) on the parse path, the same limit the serializer already applies. If your requests contain mcpack messages nested deeper than 128 levels, the request will be failed after applying the fix.
Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| Apache Software Foundation Apache bRPC | < 1.18.0 | 1.18.0 |
Kaynaklar3 kaynak
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.