Read the docs
TI-2026-78756 Aliases CVE-2026-86147GHSA-jm3m-mg8w-9wmc

File creation and unbounded profiling in Apache bRPC builtin services

Priority MEDIUM 40CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-400.

Summary

Apache bRPC before 1.18.0 has external control of file paths and uncontrolled resource consumption in its builtin services. A remote attacker who can reach the builtin service port can change the bvar dump path through /flags, creating directories and overwriting files as the server process. A single /pprof request can also hold the process-wide profiler for an arbitrarily long time.

Written with Claude Haiku 5.5 from the sources below · 2026-10-30

Description from the CNA

External control of file name or path and uncontrolled resource consumption in Apache bRPC (version < 1.18.0) on all platforms allows remote attackers who can reach the builtin service port to create directories and truncate/overwrite files with the privileges of the server process, or to hold the process-wide CPU/contention profiler for an arbitrarily long time. Root Cause: 1. The builtin /flags service allows gflags carrying a validator to be modified at runtime via ?setvalue=. The bvar/mbvar dump path gflags (bvar_dump_file, bvar_dump_tabs, mbvar_dump_file) were registered with an accept-anything validator whose only purpose was to wake the dumping thread. A remote attacker could therefore repoint the dump path (e.g. GET /flags/bvar_dump_file?setvalue=/victim/dir/target followed by GET /flags/bvar_dump?setvalue=true, or the equivalent for mbvar_dump_file, which is used verbatim without a forced suffix), making the dumping thread recursively create directories and open/truncate files at attacker-chosen locations. Tab names in bvar_dump_tabs were appended to the path without sanitization, allowing '..' to escape the configured directory. 2. The /pprof builtin service did not clamp the ?seconds= parameter to FLAGS_max_profiling_seconds (a limit that /hotspots enforced). A single request such as ?seconds=2147483647 made the handler sleep for decades while holding the process-wide gperftools CPU profiler or bthread contention profiler, so /hotspots/cpu and /hotspots/contention returned 503 for everyone else during that time. Affected Scenarios: Any Apache bRPC server exposing the builtin services (enabled by default on the same port as normal RPC traffic) to untrusted networks. 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/3523 Note: After the fix, bvar_dump_file, bvar_dump_tabs and mbvar_dump_file can no longer be modified at runtime through the /flags builtin service. They can still be changed programmatically via google::SetCommandLineOption(), taking effect on the next dump cycle. The profiling duration of /pprof is now capped by the -max_profiling_seconds gflag (default 300 seconds), which can be adjusted by the server owner.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0055 46th percentileScored 2026-11-07
Fix Fixed Apache bRPC (Apache Software Foundation): 1.18.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ApacheApache bRPCbefore 1.18.01.18.0Patch availableCNA
  • Apache bRPC VendorApache Affected before 1.18.0 Fixed in 1.18.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:apache:brpc:*:*:*:*:*:*:*:*——Apache
  • cpe:2.3:a:apache:brpc:*:*:*:*:*:*:*:* Versions — — ·Apache

Remediation

Upgrade Apache bRPC to 1.18.0, which fixes this issue. Alternatively, apply the patch from Apache pull request 3523.

Written with Claude Haiku 5.5 from the sources below · 2026-10-30

  • Fix · CNA Apache bRPC (Apache Software Foundation) Fixed in 1.18.0

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Advisory ·

    Apache bRPC — lists.apache.org/thread/2pf15ojj0vr7rtx95677kgtl1mx3gdgb

    35 records Highest priority Priority MEDIUM 18 MEDIUM, 17 LOW

    Other records, highest priority first

    • TI-2026-78552 Out-of-bounds write in Apache bRPC Redis command parserPriority MEDIUM 49
    • TI-2026-78757 Authentication bypass in Apache bRPC servers using internal_portPriority MEDIUM 48
    • TI-2026-78742 Missing authentication in Apache bRPC streaming RPC framesPriority MEDIUM 48

Timeline

  1. 2026-10-21 Threatist record created from CVE-2026-86147
  2. 2026-10-21 Alias added: GHSA-jm3m-mg8w-9wmc
  3. 2026-10-30 CVSS score added · CISA ADP
  4. 2026-10-30 CISA SSVC decision points changed
  5. 2026-11-01 Priority changed: LOW → MEDIUM

References

  • TI-2025-18529 Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT KEVCVSS 3.1CRITICAL 10.0
  • TI-2024-30292 Apache OFBiz: Confused controller-view authorization logic (forced browsing) KEVCVSS 3.1CRITICAL 9.8
  • TI-2024-26062 Apache OFBiz: Unauthenticated endpoint could allow execution of screen rendering code KEVCVSS 3.1CRITICAL 9.8
  • TI-2024-21190 Apache OFBiz: Path traversal leading to RCE KEVCVSS 3.1CRITICAL 9.8
  • TI-2024-18186 Apache HugeGraph-Server: Command execution in gremlin KEVCVSS 3.1CRITICAL 9.8
  • TI-2023-25106 Deserialization of untrusted data in Apache ActiveMQ KEVCVSS 3.1CRITICAL 10.0
See all 4053 →

Sources