Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
The probability is the direct output of the EPSS model, and conveys an overall sense of the threat of exploitation in the wild. The percentile measures the EPSS probability relative to all known EPSS scores. Note: This data is updated daily, relying on the latest available EPSS model version. Check out the EPSS documentation for more details.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade cesanta/mongoose to version 7.23 or higher.
cesanta/mongoose is a networking library for C/C++. It implements event-driven non-blocking APIs for TCP, UDP, HTTP, WebSocket, MQTT.
Affected versions of this package are vulnerable to Integer Underflow (Wrap or Wraparound) in the mg_tls_recv_record function in src/tls_builtin.c, whose length guard rejects only msgsz < 16 although a TLS 1.3 ciphertext requires at least 17 bytes, so a record of exactly 16 bytes makes tls->recv_len = (size_t) msgsz - 16 - 1 wrap to SIZE_MAX. An attacker can read far past the receive buffer, and crash the process once the read leaves mapped memory, by sending a record carrying a valid AEAD tag over a zero-length plaintext, after which the leftover-data guard if (tls->recv_len > 0) return 0; is permanently true and stale buffer bytes are consumed as a decrypted message whose length field drives mg_sha256_update in mg_tls_drop_message. This affects only the MG_TLS_BUILTIN backend and not the OpenSSL or mbedTLS ones, and is reachable once directional handshake keys exist from the unauthenticated X25519 exchange, so either peer can trigger it before certificates are validated, including against a plain HTTPS server through mg_tls_server_recv_finish.