---
id: CVE-2026-73251
title: Mongoose is an embedded web server and network library
summary: >-
  Mongoose is an embedded web server and network library. Prior to 7.23, a
  network attacker can impersonate a TLS server to a Mongoose client configured
  with a multi-certificate CA bundle. In src/tls_builtin.c, the mg_tls_init()
  function s…
severity: critical
cvss: 9.3
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'
cwe:
  - CWE-295
vendor: cesanta
product: mongoose
affected:
  - mongoose < 7.23
published: '2026-08-20'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:19:49.197'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-73251'
references:
  - url: >-
      https://github.com/cesanta/mongoose/commit/2988bc9df3a5efc9539471cb7455975fa25df483
    label: security-advisories@github.com
  - url: 'https://github.com/cesanta/mongoose/releases/tag/7.23'
    label: security-advisories@github.com
  - url: >-
      https://github.com/cesanta/mongoose/security/advisories/GHSA-qj6j-2692-v2r8
    label: security-advisories@github.com
  - url: >-
      https://github.com/cesanta/mongoose/security/advisories/GHSA-qj6j-2692-v2r8
    label: security-advisories@github.com
  - url: >-
      https://github.com/cesanta/mongoose/security/advisories/GHSA-qj6j-2692-v2r8
    label: security-advisories@github.com
  - url: >-
      https://github.com/cesanta/mongoose/security/advisories/GHSA-qj6j-2692-v2r8
    label: security-advisories@github.com
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-08-20T19:50:25.364486Z'
cvssSource: cna
ingestedAt: '2026-09-14T15:23:34.738Z'
epss: 0.00327
epssPercentile: 0.22993
---

## Overview

Mongoose is an embedded web server and network library. Prior to 7.23, a network attacker can impersonate a TLS server to a Mongoose client configured with a multi-certificate CA bundle. In src/tls_builtin.c, the mg_tls_init() function stores the bundle in tls->ca_bundle_der while tls->ca_der.len remains zero, and mg_tls_recv_cert() uses tls_bundle_find() to accept a Common Name match without calling mg_tls_verify_cert_signature(). A forged self-signed certificate can therefore satisfy hostname and CertificateVerify checks and enable interception, credential disclosure, traffic modification, and malicious responses. This issue is fixed in version 7.23.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
