CVE-2026-90484: Apache bRPC: Null pointer dereference in MySQL reply parser leading to client crash

Published Oct 21, 2026
·
Updated

The MySQL client response parser in Apache bRPC dereferences a null pointer when the server peer sends a zero-payload-length response packet. A response packet whose declared payload length is zero is accepted by the frame-length check (isfullpackage), after which the parser reads the response type byte via an unbounded 5-byte fetch that returns nullptr, and type = p[4] dereferences it, crashing the client process.

Root Cause: In brpc::policy::MysqlReply::ConsumePartialIOBuf, buf.fetch(header, 5) returns nullptr when the buffered data only holds the 4-byte header of a zero-length packet, then the code reads p[4] (and, in the fast-auth path, p2[4]) without checking for a null or zero-length packet.

Affected Scenarios: A brpc MySQL client connecting to a malicious or compromised MySQL server (or a MITM) can be crashed by a zero-length server response packet, resulting in denial of service of the client.

Fix: The fix rejects zero-length response packets (returning PARSEERRORABSOLUTELYWRONG) both for the initial response type determination and after a fast-auth marker, before reading the type byte. Upgrade to the Apache bRPC version 1.18.0 or apply the PR patch at https://github.com/apache/brpc/pull/3536.

Affected Software

1 affected component
Apache bRPC<1.18.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Apache bRPC to a version that resolves this vulnerability.

    Fixed in 1.18.0

Event History

Oct 21, 2026
CVE Published
via MITRE·12:19 PM
Data Sourced
via MITRE·12:19 PM
DescriptionWeakness

Frequently Asked Questions

1

Who can trigger the crash?

A malicious or compromised MySQL server can trigger it against a bRPC MySQL client. A man-in-the-middle attacker that can alter server responses can also do so.

2

What packet is required to exploit the issue?

The attacker must send a MySQL server response packet with a declared payload length of zero. The frame-length check accepts this packet, after which the client dereferences a null pointer while attempting to read its response type.

3

What should teams do if they cannot patch immediately?

The provided data identifies untrusted, compromised, or intercepted MySQL server connections as the exposure condition. Restrict bRPC clients to trusted MySQL endpoints and protect the connection from man-in-the-middle modification until the fix can be applied.

4

Which remediation is available?

Upgrade Apache bRPC to version 1.18.0 or apply the referenced PR patch. The fix rejects zero-length response packets before reading the response type, including in the fast-auth path.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203