CVE-2026-78058
Uncontrolled resource consumption in the HTTP/2 (h2) receive path of Apache bRPC (version < 1.18.0) on all platforms allows a remote unauthenticated attacker to crash the server or grow its memory without bound by sending crafted HTTP/2 frames. Root Cause: The h2 parser, enabled by default on every bRPC server port and used by h2/gRPC clients, trusts the peer to respect receive-side limits that bRPC advertises but never enforces: 1. SETTINGS_MAX_CONCURRENT_STREAMS defaulted to unlimited and was never checked on the server, letting a peer pin an unbounded number of pending streams per connection (~100x memory amplification). 2. SETTINGS_MAX_HEADER_LIST_SIZE defaulted to unlimited and was never enforced; 1-byte HPACK indexed references amplify a small HEADERS frame ~4000x into an unbounded decoded header list ("HPACK bomb"), and a never-completed HEADERS/CONTINUATION block accumulates memory without limit. 3. Control-frame acks (PING/SETTINGS acks, RST_STREAM, GOAWAY, WINDOW_UPDATE) unconditionally bypassed the -socket_max_unwritten_bytes write cap, so a PING flood combined with withheld TCP reads grew the connection buffer without the documented bound. 4. The HPACK dynamic table size update was validated against the protocol default (4096) instead of the advertised SETTINGS_HEADER_TABLE_SIZE, which together with the dynamic-table queue/accounting issue can desynchronize the decoder and dereference NULL (crash). Affected scenarios: Any bRPC server serving HTTP/h2/gRPC to an untrusted network, and any bRPC h2/gRPC client connecting to an untrusted backend. The h2 parser runs before any Authenticator check on the shared port. How to fix: Upgrade bRPC, or apply the patch in https://github.com/apache/brpc/pull/3474. Note: After applying the fix the following limits are enforced by default: - max_concurrent_streams: 1024 per connection (4294967295 restores unlimited). - max_header_list_size: 1 MiB decoded size per stream (4294967295 restores unlimited; -h2_client_max_header_list_size for clients). - h2 control-frame acks respect -socket_max_unwritten_bytes (-h2_ack_ignore_eovercrowded restores the old behavior). Requests exceeding these limits are rejected (RST_STREAM(REFUSED_STREAM) or a connection error).
Executive briefing
This record describes a reported software or hardware weakness. The description and CVSS rating are source metadata; practical risk depends on whether your environment uses an affected product/version and whether the vulnerable component is reachable and configured in an exploitable way.
Severity & exploitability
CVSS vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Impacted products and platforms
Specific affected product configurations are not currently available in the NVD record. Review vendor advisories and validate applicability against your asset inventory.
How it works and what it could affect
The NVD description is the authoritative short summary currently available for this record. A detailed technical mechanism is not inferred when the source record does not provide one.
Weakness classification: CWE-400CWE-476
Review the CVSS attack characteristics above to understand whether exploitation is network/local, whether privileges or user interaction are required, and which confidentiality, integrity or availability impacts are scored.
Remediation and recommended response
- Identify exposure: compare the affected product and version ranges below with your asset inventory, software bill of materials, endpoint inventory and externally exposed services.
- Remediate: review the linked vendor security advisory or patch notes, upgrade to a fixed release, or apply the vendor-provided workaround if an upgrade cannot be completed.
- Mitigate while patching: restrict network access to the vulnerable service, disable the affected feature where operationally safe, and monitor vendor/CERT advisories for updated guidance.
- Validate: confirm the fixed version or mitigation on representative systems, run a vulnerability rescan, and retain change evidence.
Vendor remediation / security advisories
Exploit intelligence & references
No CISA KEV match is recorded in the latest successful catalog refresh. This is not a guarantee that public proof-of-concept code or exploitation does not exist.
- security@apache.org vendor
Sources: NVD and CISA KEV when available. Vendor confirmation remains the final authority for fixed versions and workarounds.