CVE-2026-73251
CVE-2026-73251 presents a certificate verification bypass in mongoose (CivetWeb) that warrants close attention from embedded systems engineers and anyone maintaining IoT gateways or edge devices using this library. The vulnerability allows a man-in-the-middle attacker with network positioning to present a forged self-signed certificate that passes hostname validation but bypasses signature verification — but only when the client is configured with a multi-certificate CA bundle, a legitimate enterprise pattern for handling multiple trusted authorities or intermediate certificate chains. The CVSS 9.3 rating reflects the severe impact ceiling if exploitation succeeds, but the actual attack surface is narrower than the score suggests. The EPSS probability of 0.00327 better reflects the constrained reality: exploitation requires both a deliberately chosen configuration (multi-certificate bundle) and an attacker already capable of interception. This isn't a random exposure — it's a feature-gated bypass that only affects deployments configured in a specific, non-default way. What should concern you more than the CVE number is the underlying architectural pattern. The bug emerges because `tls_bundle_find()` handles Common Name matching when a bundle is loaded, but this code path bypasses the standard `mg_tls_verify_cert_signature()` function. This creates a divergence where one configuration route rigorously validates certificates while another silently shortcuts that validation. This is a structural smell, not an isolated defect — certificate verification logic that forks based on configuration state has a documented history across OpenSSL, GnuTLS, and curl. Each fork may appear innocuous at creation but accumulates technical debt as the main verification path is updated without propagating changes to the alternate route. Before patching, verify whether your deployment uses a multi-certificate CA bundle configuration. If it does, prioritize the upgrade to 7.23, but treat this as a symptom trigger: audit your TLS initialization flow for similar verification divergences. The 7.23 patch may address the specific `tls_bundle_find()` call site without eliminating the underlying architectural fork, meaning future features or configuration options could recreate the same bypass. The actionable priority is consolidating certificate verification into a single path that no configuration choice can circumvent.
Reviewed through automated stages and approved by a human before publication.