CVE-2026-73252
7.5HighPublished 14 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- High impact on availability
- Weakness
- CWE-125, CWE-191
Impact
Remote unauthenticated attackers can crash the server via denial of service before handshake validation completes. Exploitation requires network access to the exposed TLS port.
Root cause
An integer underflow in mg_tls_recv_record() occurs when processing an empty TLS 1.3 record that only contains the authentication tag, causing a heap out-of-bounds read.
Affected systems
Mongoose versions prior to 7.23 when compiled with the built-in TLS stack (MG_TLS_BUILTIN)
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Fix & remediation
Upgrade Mongoose to version 7.23 or later. If patching immediately is not possible, recompile without MG_TLS_BUILTIN to use an external TLS backend instead of the built-in stack.
$ git pull origin master && git checkout 7.23AI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
Mongoose is an embedded web server and network library. Prior to 7.23, the built-in TLS stack selected by MG_TLS_BUILTIN in src/tls_builtin.c accepts a TLS 1.3 record whose decrypted size is exactly the 16-byte authentication tag with no plaintext or ContentType byte. In mg_tls_recv_record(), the msgsz length check permits that record and the recv_len calculation underflows to SIZE_MAX, so a later handshake step treats stale buffer contents as a trusted message with an effectively unbounded length. An unauthenticated malicious TLS peer can trigger a heap out-of-bounds read before certificate or Finished validation, causing a remote denial of service. This issue is fixed in version 7.23.