Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| cesanta / mongoose | affected < 7.23 |
CWE
CWE-191, CWE-125
References
- https://github.com/cesanta/mongoose/security/advisories/GHSA-hq58-98f5-2wg3
- https://github.com/cesanta/mongoose/commit/758e301f0c9a9885c1b716195df5fe6d6ac9d53e
- https://github.com/cesanta/mongoose/releases/tag/7.23
ADP enrichment
No English description supplied.