CVE-2026-66392: Apache bRPC: TLS Client Accepts Certificates for Mismatched Peer Names
Apache bRPC versions before 1.18.0 validate the server certificate chain when client TLS peer verification is enabled, but do not bind the certificate to an expected DNS name or IP address. A network attacker who can redirect or intercept a connection and who possesses a certificate issued by a CA trusted by the client for another name may impersonate the requested TLS endpoint.
Affected Scenarios: Applications use a bRPC client Channel to connect to an untrusted network with certificate verification enabled and trust a CA that can issue certificates for identities other than the intended endpoint.
How to Fix: Upgrade to Apache bRPC 1.18.0 and enable VERIFYPEER with a positive verifydepth. HTTPS Channels automatically verify the certificate against the host in the Channel URL. Callers may set VerifyOptions::expectedpeername explicitly when the certificate identity differs from the URL host. Alternatively, apply the patch from https://github.com/apache/brpc/pull/3408 .
Note: The new option performs DNS SAN or IP SAN verification during the TLS handshake. Configurations that set expectedpeername while peer verification is disabled are rejected.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Apache bRPCto a version that resolves this vulnerability.Fixed in 1.18.0 - Configuration
Enable VERIFY_PEER and configure verify_depth to a positive value.
Apache bRPC TLS client VERIFY_PEER and verify_depth = VERIFY_PEER enabled with a positive verify_depth