Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-84747— Apache bRPC: Access Control Bypass via HTTP Request Paths Containing Empty Path Segments

Quick assessment

Affected
Apache Software Foundation Apache bRPC
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Apache bRPC(版本 < 1.18.0)在所有平台上的 HTTP 协议实现中存在解释冲突问题,允许远程攻击者绕过由前端代理执行的访问控制规则。 根本原因: bRPC HTTP 协议中的方法分发函数 使用字符串分割器处理请求路径,该分割器会跳过空字段。因此,包含空路径段(即连续斜杠)的路径(例如 、 和 )会被分发到与压缩形式 相同的处理方法。然而,根据 RFC 3986,这些路径本应被视为不同的路径。若前端代理基于压缩后的路径形式执行访问控制列表(ACL)(例如阻止对内置服务如 的访问),则仅会匹配压缩形式

AI Predicted 8.1 Difficulty: Easy

Affected Version Matrix 1

VendorProduct Version RangeStatus
Apache Software Foundation Apache bRPC < 1.18.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-84747

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Apache bRPC: Access Control Bypass via HTTP Request Paths Containing Empty Path Segments
Source: CVE Program / CVE List V5
Vulnerability Description
Interpretation conflict in the HTTP protocol implementation in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to bypass access control rules enforced by a front proxy. Root Cause: The method dispatch function FindMethodPropertyByURI() in bRPC's HTTP protocol splits the request path with a string splitter that skips empty fields, so paths containing empty path segments (consecutive slashes), such as //flags, /flags// and /flags//port, are dispatched to the same method as their collapsed form /flags. Per RFC 3986 these are distinct paths. A front proxy that enforces an ACL (e.g. blocking access to builtin services such as /flags) matches the collapsed form only, and therefore forwards the padded literal to the bRPC server, where it is dispatched as if it were the collapsed form. This differential allows //flags?setvalue= to reach a builtin service that /flags is not allowed to reach. Additionally, the HTTP/2 implementation never validated the :path pseudo-header, so requests without a :path, or with a :path that neither begins with '/' nor is the asterisk-form '*', contrary to RFC 9113 section 8.3.1, were not rejected. Affected Scenarios: Deployments of Apache bRPC behind a front proxy or gateway that performs access control (ACL) decisions on the literal request path, where the bRPC server accepts HTTP or HTTP/2 traffic from that proxy. In such deployments an attacker can send a path containing empty path segments to reach a resource that the front proxy intended to block. How to Fix: (Choose one of the following options) 1. Upgrade bRPC to version 1.18.0, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3512 Note: After applying the fix, HTTP and HTTP/2 request paths containing empty path segments (consecutive slashes) are rejected by default, and HTTP/2 :path values that are empty or neither begin with '/' nor equal '*' are rejected. Deployments that depend on the previous lenient behavior can restore it by turning on the gflag -http_allow_empty_path_segments, which is not recommended for servers exposed to untrusted traffic.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
解释冲突
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Apache Software Foundation Apache bRPC 0 ~ 1.18.0 -

II. Public POCs for CVE-2026-84747

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-84747

请登录查看更多情报信息。

Same Patch Batch · Apache Software Foundation · 2026-10-21 · 69 CVEs total

CVE-2026-105944 10.0 CRITICAL Apache Pulsar Manager: Missing authentication and authorization and disclosure of the Puls
CVE-2026-111812 10.0 CRITICAL Apache Traffic Server: origin_server_auth signs client-controlled AWS headers under the pr
CVE-2026-111813 10.0 CRITICAL Apache Traffic Server: magick plugin passes client query strings unfiltered to ImageMagick
CVE-2026-111815 10.0 CRITICAL Apache Traffic Server: TLS session ticket resumption bypasses per-SNI verify_client STRICT
CVE-2026-111814 10.0 CRITICAL Apache Traffic Server: Default server_session_sharing.match omits MASK_CERT, allowing pool
CVE-2026-111809 9.3 CRITICAL Apache Traffic Server: HEAD requests carrying Content-Length or Transfer-Encoding enable r
CVE-2026-111816 9.3 CRITICAL Apache Traffic Server: A malformed 302 response bypasses parse-error rejection through the
CVE-2026-105869 9.2 CRITICAL Apache Pulsar: MultiRolesTokenAuthorizationProvider uses roles from unverified tokens for
CVE-2026-111811 9.0 CRITICAL Apache Traffic Server: tsmemcache plugin exposes the shared proxy cache over the network w
CVE-2025-31699 8.9 HIGH Apache Traffic Server: Origin connection still owed a request body is reused, enabling req
CVE-2026-105937 8.7 HIGH Apache Pulsar: Missing authorization of the shadow topic source allows cross-tenant messag
CVE-2025-55702 8.7 HIGH Apache Traffic Server: An unread Expect: 100-continue request body is framed as a new requ
CVE-2026-111808 8.6 HIGH Apache Traffic Server: HTTP/2 DATA frame padding underflow lets a client trigger backend w
CVE-2026-111805 8.6 HIGH Apache Traffic Server: HTTP/2 Content-Length truncation lets a client trigger backend work
CVE-2026-111804 8.2 HIGH Apache Traffic Server: wasm plugin has a use-after-free and forwards unvalidated guest met
CVE-2026-105945 7.7 HIGH Apache Pulsar: Improper Validation of Package Name Components Allows Cross-Tenant Package
CVE-2026-105942 7.7 HIGH Apache Pulsar: Original principal of proxied requests authorized with the proxy's authenti
CVE-2026-111810 7.5 HIGH Apache Traffic Server: Unthrottled per-header diagnostic logging enables a log-flood denia
CVE-2026-105934 7.2 HIGH Apache Pulsar: Missing tenant admin authorization check when truncating a partitioned topi
CVE-2026-105930 6.0 MEDIUM Apache Pulsar: Improper Authorization of Function, Source and Sink Package URLs Allows Cro

Showing top 20 of 69 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-84747

No comments yet


Leave a comment