CVE-2026-48830 in bRPCinfo

Summary

by MITRE • 10/21/2026

Improper authentication in Apache bRPC through 1.17.0 allows a remote unauthenticated attacker to bypass authentication for protected non-builtin HTTP endpoints by first sending a builtin HTTP request on the same HTTP/1.1 keep-alive connection.

When ServerOptions.auth is enabled and builtin HTTP services are exposed on the public listener, a builtin request received as the first message on a socket may cause the connection to be treated as authenticated for later requests on that socket. Users are recommended to upgrade to version 1.18.0, which fixes this issue, or apply this PR separately: https://github.com/apache/brpc/pull/3308

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/21/2026

The vulnerability identified in Apache bRPC versions up to and including 1.17.0 represents a critical authentication bypass flaw rooted in the handling of HTTP keep-alive connections when server-side authentication is enabled. This issue specifically affects scenarios where builtin HTTP services are exposed on public-facing listeners, creating an attack surface for remote unauthenticated adversaries. The core technical failure lies in how the bRPC framework manages connection state and session context across multiple requests transmitted over a single persistent TCP connection using the HTTP/1.1 protocol. When ServerOptions.auth is enabled, the system expects to validate credentials for every incoming request that targets protected endpoints. However, the implementation incorrectly assumes that if an initial request on a socket triggers authentication logic or establishes a specific internal state associated with builtin services, subsequent requests on that same connection inherit this authenticated status regardless of their actual content or lack of valid credentials.

The operational mechanism of this exploit relies heavily on the persistent nature of HTTP/1.1 keep-alive connections, which allow multiple request-response pairs to be sent over a single TCP socket without re-establishing the transport layer connection. An attacker initiates contact by sending a specific builtin HTTP request as the very first message on a new socket. This initial payload is crafted to interact with internal or built-in services that do not require strict authentication checks in certain configurations, or it simply triggers an initialization sequence within bRPC's connection handler. Upon processing this first request, the server incorrectly marks the underlying socket context as authenticated for all future traffic arriving on that specific file descriptor. Consequently, when the attacker subsequently sends requests to protected non-builtin HTTP endpoints without providing any authentication headers or tokens, the framework fails to perform the necessary verification steps because it erroneously believes the connection has already been validated by the preceding builtin request.

This flaw constitutes a classic case of improper privilege assignment and session management failure, aligning with CWE-287 Improper Authentication and CWE-384 Session Fixation concepts within the broader category of authentication bypasses. From an adversarial perspective, this vulnerability maps directly to MITRE ATT&CK technique T1078 Valid Accounts, as it allows unauthenticated actors to effectively assume valid credentials by manipulating connection state rather than stealing actual secrets. The impact is severe because it grants unauthorized access to protected API endpoints and internal services that are intended to be restricted. Attackers can exploit this to execute arbitrary commands, exfiltrate sensitive data, or pivot further into the network depending on the functionality exposed through these unprotected non-builtin endpoints. Since the bypass occurs at the protocol handling layer before application-level logic is fully engaged, traditional web application firewalls may struggle to detect it if they rely solely on header inspection rather than deep state analysis of persistent connections.

To mitigate this risk, organizations running Apache bRPC must immediately upgrade to version 1.18.0 or later, where the connection state management has been corrected to ensure that authentication status is not erroneously inherited across different request types within a keep-alive session. For environments unable to perform an immediate full upgrade, applying the specific patch provided in pull request number 3308 on the Apache bRPC GitHub repository offers a targeted remediation path. Additionally, defensive measures should include restricting access to builtin HTTP services so they are not exposed on public listeners unless absolutely necessary, thereby removing the initial vector required to trigger the state corruption. Implementing strict input validation and ensuring that each request is independently authenticated regardless of prior connection history can also help harden systems against similar logic flaws in other RPC frameworks.

Responsible

Apache

Reservation

05/24/2026

Disclosure

10/21/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!