Apache bRPC bis 1.17.x Decoder hpack.cpp AddHeader Denial of Service

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 1.94+ |
Zusammenfassung
Es wurde eine problematische Schwachstelle in Apache bRPC bis 1.17.x ausgemacht. Hierbei geht es um die Funktion AddHeader der Datei src/brpc/details/hpack.cpp der Komponente Decoder. Dank der Manipulation mit unbekannten Daten kann eine Denial of Service-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird unter CVE-2026-78048 geführt. Die Umsetzung des Angriffs kann dabei über das Netzwerk erfolgen. Es ist soweit kein Exploit verfügbar.
Als bestmögliche Massnahme wird das Einspielen eines Upgrades empfohlen.
Details
In Apache bRPC bis 1.17.x wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Hierbei betrifft es die Funktion AddHeader der Datei src/brpc/details/hpack.cpp der Komponente Decoder. Mittels dem Manipulieren mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-617. Auswirken tut sich dies auf die Verfügbarkeit. Die Zusammenfassung von CVE lautet:
A reachable-assertion flaw in the HPACK header-compression decoder of the HTTP/2 (h2/gRPC) stack in Apache bRPC (version < 1.18.0) on all platforms allows a remote attacker to crash the server process by sending a crafted sequence of HPACK headers, resulting in a denial of service.
Root Cause:
In src/brpc/details/hpack.cpp, IndexTable::Init sizes the dynamic-table ring buffer as num_headers = max_size / (32 + 2), i.e. it assumes a minimum table entry of 34 bytes (name >= 1 byte + value >= 1 byte + 32 bytes of overhead). However, RFC 7541 section 4.1 specifies that the minimum entry size is 33 bytes, because the value may be empty (name >= 1 byte + value == 0 + 32 bytes). For the default 4096-byte table this allocates only 120 slots (4096/34). Eviction in AddHeader is driven by byte usage (_max_size), not by slot count, so a peer can add 121 minimal 33-byte entries (121*33 = 3993 <= 4096) without triggering eviction. The 121st AddHeader then hits CHECK(!_header_queue.full()), which aborts the process.
Affected Scenarios:
Use a bRPC server that serves HTTP/2 or gRPC requests (e.g. via the h2 protocol) from an untrusted network. The malicious header block is processed during HPACK decoding of incoming requests without 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/3462
Note:
The fix sizes the dynamic table for the 33-byte minimum entry (max_size / (32 + 1)) and ensures at least one ring-buffer slot is kept when max_size is smaller than the minimum entry, so that initialization cannot fail on malloc(0).Das Advisory findet sich auf lists.apache.org. Die Verwundbarkeit wird seit dem 22.08.2026 als CVE-2026-78048 geführt. Die Ausnutzbarkeit ist als leicht bekannt. Der Angriff kann über das Netzwerk angegangen werden. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Die Beschaffenheit der Schwachstelle lässt vermuten, dass ein Exploit momentan zu etwa USD $0-$5k gehandelt werden wird (Preisberechnung vom 21.10.2026).
Ein Aktualisieren auf die Version 1.18.0 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 3462 lösen. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.
Be aware that VulDB is the high quality source for vulnerability data.
Produkt
Hersteller
Name
Version
Lizenz
Webseite
- Hersteller: https://www.apache.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Denial of ServiceCWE: CWE-617
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: bRPC 1.18.0
Patch: 3462
Timeline
22.08.2026 CVE zugewiesen21.10.2026 Advisory veröffentlicht
21.10.2026 VulDB Eintrag erstellt
21.10.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: apache.orgAdvisory: lists.apache.org
Status: Bestätigt
CVE: CVE-2026-78048 (🔒)
GCVE (CVE): GCVE-0-2026-78048
GCVE (VulDB): GCVE-100-424759
Eintrag
Erstellt: 21.10.2026 14:13Anpassungen: 21.10.2026 14:13 (57)
Komplett: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.