- Yama var
- Son 7 gün
- CWE-770
CVE-2026-74757
Apache bRPC mcpack2pb bileşeninde kötü niyetli dizi öğe sayısı nedeniyle kontrolsüz bellek ayırma
- Yayımlandı
- Güncellendi
- 26 Eki 2026
- Açık yaşı
- 7 gün
- Kaydı açan
- apache
ÖzetTürkçe
Apache bRPC'nin (1.18.0 öncesi sürümler) tüm platformlarda mcpack2pb bileşenindeki kontrolsüz kaynak ayırma sorunu, uzaktan saldırganların özel hazırlanmış bir mcpack isteği göndererek, büyük bir dizi öğe sayısıyla sunucunun çok miktarda bellek ayırmasına neden olmasına izin verir. Kök neden: bRPC mcpack2pb ayrıştırıcısı, mcpack dizi başlığında saklanan öğe sayısına, gerçek yük boyutuna karşı doğrulama yapmadan güvenir. mcpack2pb protoc eklentisiyle üretilen kod, bu sayıyı tekrarlanan protobuf alanları için Reserve aracılığıyla bellek önceden ayırmak amacıyla kullanır. item_count = 0x7fffffff değerini bildiren hazırlanmış bir istek, sunucuyu yaklaşık 16GB sanal belleği önceden ayırmaya zorlayabilir; bu da bellek kısıtlı sistemlerde sürecin SIGABRT sinyaliyle sonlandırılmasına yol açabilir. Etkilenen senaryolar: NsheadService'i UbrpcMcpack2Adaptor'a bağlayan ve istekleri mcpack2pb protoc eklentisiyle üretilen kodla ayrıştıran bir bRPC sunucusu (Baidu ubrpc dağıtım modeli). İstek gövdesi kimlik doğrulamadan önce ayrıştırılır. Düzeltme: Aşağıdaki seçeneklerden birini tercih edin: 1. Sorunu gideren 1.18.0 sürümüne yükseltin. 2. Yama uygulayın. Hangi seçeneği seçerseniz seçin, düzeltmenin dizi öğe sayısını dizi yükünün kalan bayt sayısıyla sınırladığını bilmeniz gerekir.
Kaynaktaki açıklama (İngilizce)
Uncontrolled resource allocation in the mcpack2pb component in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to make the server allocate a large amount of memory via sending a crafted mcpack request with a huge array item count.
Root Cause:
The bRPC mcpack2pb parser trusts the item count stored in the mcpack array header without validating it against the actual payload size. The code generated by the mcpack2pb protoc plugin uses this count to preallocate memory for repeated protobuf fields via Reserve(). A malformed request declaring item_count = 0x7fffffff can force the server to preallocate about 16GB of virtual memory, which may abort the process (SIGABRT) on memory-constrained hosts.
Affected Scenarios:
Use a bRPC server that wires a NsheadService to UbrpcMcpack2Adaptor (the Baidu ubrpc deployment pattern) and parses requests with code generated by the mcpack2pb protoc plugin. The request body is parsed before authentication.
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/3451
Note:
No matter which option you choose, you should know that the fix caps the array item count to the remaining bytes of the array payload.
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.