CVE-2026-86249

Source
https://cve.org/CVERecord?id=CVE-2026-86249
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86249.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-86249
Published
2026-10-21T12:17:42Z
Modified
2026-10-22T02:49:10Z
Summary
Apache bRPC: Authentication bypass when a server sets ServerOptions.internal_port and ServerOptions.auth
Details

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().

Database specific
{
    "cna_assigner":  "apache",
    "cwe_ids":  [
        "CWE-287"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86249.json"
}
References

Affected packages

Git / github.com/apache/brpc

Affected ranges

Type
GIT
Repo
https://github.com/apache/brpc
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "range":  [
                {
                    "introduced":  "0"
                },
                {
                    "fixed":  "1.18.0"
                }
            ],
            "source":  "AFFECTED_FIELD",
            "strategy":  "StandardRange"
        }
    ]
}

Affected versions

0.*
0.9.5
0.9.6
0.9.6-rc01
0.9.6-rc02
0.9.6-rc03
0.9.7
0.9.7-rc01
0.9.7-rc02
0.9.7-rc03
0.9.8-rc01
1.*
1.0.0
1.0.0-rc01
1.0.0-rc02
1.13.0
v0.*
v0.9.0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86249.json"