Authentication bypass in Apache bRPC servers using internal_port
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-287.
Summary
Apache bRPC before 1.18.0 has an authentication bypass in servers that set both ServerOptions.auth and ServerOptions.internal_port. VerifyHttpRequest() accepts built-in service requests on internal_port without checking any credential, and that result stays valid for the whole connection (CWE-287). A remote attacker can reach ordinary authenticated services on that connection without valid credentials.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
On a brpc::Server that sets both ServerOptions.auth and ServerOptions.internal_port, the HTTP built-in service exemption on internal_port can be abused to bypass authentication entirely. VerifyHttpRequest() returns true without checking any credential when a built-in service is requested on internal_port, and this verdict is not per - request: verification runs only for the first message of a connection and the result latches the connection. Sending a request such as GET /status to internal_port first authenticates the whole connection, after which every subsequent request dispatched on the same connection is handled without ever calling VerifyHttpRequest(). This lets a remote attacker reach ordinary (non-built-in, non-tabbed) authenticated services without supplying valid credentials whenever the server uses ServerOptions.internal_port together with an Authenticator. The fix restricts internal_port so that it carries only built-in and Tabbed services; requests for ordinary services sent to internal_port are rejected with EPREM / HTTP 403. Mitigation / Fix: upgrade to 1.18.0 or apply PR https://github.com/apache/brpc/pull/3525 . Users who rely on serving normal services on internal_port must move those requests to the port passed to Server::Start().
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade Apache bRPC to 1.18.0, which restricts internal_port to built-in and Tabbed services, or apply Apache bRPC pull request 3525. Users who serve normal services on internal_port must move those requests to the port passed to Server::Start().
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA Apache bRPC (Apache Software Foundation) Fixed in 1.18.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Advisory ·
Apache bRPC — lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb
35 records Highest priority Priority MEDIUM 18 MEDIUM, 17 LOW
Other records, highest priority first
- TI-2026-78552 Out-of-bounds write in Apache bRPC Redis command parserPriority MEDIUM 49
- TI-2026-78742 Missing authentication in Apache bRPC streaming RPC framesPriority MEDIUM 48
- TI-2026-78545 Authentication bypass in Apache bRPC via builtin HTTP requestsPriority MEDIUM 48
Timeline
- 2026-10-21 Threatist record created from CVE-2026-86249
- 2026-10-21 Alias added: GHSA-9hx3-v45m-g57x
- 2026-10-30 CVSS score added · CISA ADP
- 2026-10-30 CISA SSVC decision points changed
- 2026-10-30 Priority changed: LOW → MEDIUM
References
More Apache vulnerabilities
- TI-2025-18529 Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT KEVCVSS 3.1CRITICAL 10.0
- TI-2024-30292 Apache OFBiz: Confused controller-view authorization logic (forced browsing) KEVCVSS 3.1CRITICAL 9.8
- TI-2024-26062 Apache OFBiz: Unauthenticated endpoint could allow execution of screen rendering code KEVCVSS 3.1CRITICAL 9.8
- TI-2024-21190 Apache OFBiz: Path traversal leading to RCE KEVCVSS 3.1CRITICAL 9.8
- TI-2024-18186 Apache HugeGraph-Server: Command execution in gremlin KEVCVSS 3.1CRITICAL 9.8
- TI-2023-25106 Deserialization of untrusted data in Apache ActiveMQ KEVCVSS 3.1CRITICAL 10.0
Sources
- CVE-2026-86249 · CVE Program
- CVE-2026-86249 · NVD
- FIRST EPSS
- GHSA-9hx3-v45m-g57x · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences