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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-87849— Apache bRPC: Out-of-bounds read via non-object fields in Discovery naming-service reply parsing

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)中的 Discovery 命名服务响应解析器,在未先验证 JSON 值是否为对象的情况下,直接对它们调用了 RapidJSON 的仅适用于对象的访问器(FindMember)。如果 Discovery 响应被恶意构造,其 data、service 成员或 instances 列表中包含非对象条目(例如裸整数),就会触发 RapidJSON 在客户端的对象访问前置条件检查失败,导致越界读取内存,并可能引发 bRPC 客户端崩溃。 根本原因: 在 src/brpc/pol

AI Predicted 7.5 Difficulty: Easy

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-87849

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: Out-of-bounds read via non-object fields in Discovery naming-service reply parsing
Source: CVE Program / CVE List V5
Vulnerability Description
The Discovery naming-service reply parser in Apache bRPC (versions < 1.18.0) calls RapidJSON object-only accessors (FindMember) on JSON values without first validating that those values are objects. A malformed Discovery response whose data/service members or instances list contain non-object entries (e.g. a bare integer) triggers the RapidJSON object-access precondition on the client, reading memory out of bounds and potentially crashing the bRPC client. Root Cause: In src/brpc/policy/discovery_naming_service.cpp, DiscoveryNamingService::GetServers() and DiscoveryNames::ListDiscoveryNodes() access JSON values with member functions on non-object values. RapidJSON only defines these operations for object types; invoking them on a non-object violates the class invariant and results in undefined behavior (out-of-bounds read), commonly crashing the process. Affected Scenarios: An operator-configured (or compromised) Discovery backend returns a malformed /discovery/nodes or /discovery/fetchs response whose data/service/instance entries are not JSON objects, crashing any bRPC client that refreshes its server list. How to Fix: 1. Upgrade bRPC to version 1.18.0 or later, which fixes this issue. 2. Apply this patch: https://github.com/apache/brpc/pull/3533 The fix validates that the Discovery response data, per-service data, and instance entries are JSON objects (and skips non-object node/instance entries and rejects non-object data/service values) before calling member accessors.
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-87849

# 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-87849

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

Other References for CVE-2026-87849 (2)

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

CVE-2026-56386 Apache bRPC: Integer Underflow and Out-of-Bounds Read in HTTP/2 DATA Frame Parser
CVE-2026-74758 Apache bRPC: Heap Use-After-Free in RTMP Abort Message Handling
CVE-2026-74757 Apache bRPC: Uncontrolled Memory Allocation via Malicious mcpack Array Item Count
CVE-2026-74755 Apache bRPC: Integer Underflow in mcpack2pb Parser Leading to Denial of Service
CVE-2026-66392 Apache bRPC: TLS Client Accepts Certificates for Mismatched Peer Names
CVE-2026-61916 Apache bRPC: Out-of-bounds Read in URL and Header Lookup Tables on Unsigned-char Platforms
CVE-2026-61902 Apache bRPC: Memory Exhaustion Through Inconsistent Message Body Limits
CVE-2026-58064 Apache bRPC: Denial of Service via Unbounded Redis Inline Command Allocation
CVE-2026-56388 Apache bRPC: Out-of-Bounds Write in Redis Command Parser
CVE-2026-56387 Apache bRPC: Remote Memory Exhaustion in RTMP AMF Parser
CVE-2026-78048 Apache bRPC: Remote Denial of Service via Out-of-Bounds Dynamic Table Sizing in HPACK Deco
CVE-2026-54427 Apache bRPC: Stack Exhaustion via Unbounded Recursion in AMF Parser
CVE-2026-54426 Apache bRPC: Stack Exhaustion via Unbounded Recursion in Redis Reply Parser
CVE-2026-54425 Apache bRPC: Stack Exhaustion via Recursive HPACK Dynamic Table Size Update Decoding
CVE-2026-48830 Apache bRPC: HTTP builtin request can mark a connection authenticated and bypass auth for
CVE-2026-59229 Apache IoTDB: Legacy Pipe Privilege Escalation
CVE-2026-59562 Apache IoTDB: Remote code execution and Unauthenticated path traversal in legacy pipe send
CVE-2026-41114 Apache IoTDB JDBC driver: Large-scale Memory Exhaustion via BigDecimal toPlainString in JD
CVE-2026-58663 Apache IoTDB: Auth Bypass in pipeTransfer() interface
CVE-2026-82231 Apache bRPC: Malformed Thrift T_EXCEPTION reply causes process termination in Thrift clien

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-87849

No comments yet


Leave a comment