{"id":44084,"date":"2026-10-22T04:40:01","date_gmt":"2026-10-21T20:40:01","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-86249"},"modified":"2026-10-22T04:40:01","modified_gmt":"2026-10-21T20:40:01","slug":"cve-2026-86249","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-86249","title":{"rendered":"CVE-2026-86249 &#8211; On a brpc::Server that sets both ServerOptions.auth and ServerOptions.internal_port, the H"},"content":{"rendered":"<p>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 &#8211; 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.\u00a0<\/p>\n<p>Mitigation \/ Fix: upgrade to 1.18.0 or apply PR https:\/\/github.com\/apache\/brpc\/pull\/3525 .\u00a0<\/p>\n<p>Users who rely on serving normal services on internal_port must move those requests to the port passed to Server::Start().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. VerifyHttpReq<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-44084","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/44084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44084"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44084"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}