Medium · published September 29, 2026
Issue summary: An established DTLS 1.2 association using an AEAD cipher suite
can be terminated by a single unauthenticated datagram whose encrypted
fragment is shorter than the mandatory explicit IV and authentication tag
overhead.
Impact summary: An attacker who can send a datagram that is routed to an
existing DTLS 1.2 association can tear that association down without knowing
any key material. This is a Denial of Service limited to the targeted
association. There is no memory safety or confidentiality impact.
CWE: CWE-1284: Improper Validation of Specified Quantity in Input
Description: In TLS 1.2 and DTLS 1.2 every record protected by an AEAD cipher
suite carries an explicit IV followed by the ciphertext and an authentication
tag. When decrypting such a record the record layer passed the record length to
the cipher implementation before checking that the record was long enough to
contain the explicit IV and the tag. For a record shorter than that overhead the
cipher implementation rejected the impossible length, and the record layer
treated this as an internal failure and raised a fatal internal_error alert
instead of treating the record as one that failed authentication.
In TLS 1.2 the same record causes a fatal internal_error alert instead of the
expected bad_record_mac alert. Since any undecryptable record already
terminates a TLS connection, this is a protocol conformance issue rather than
a security issue in TLS.
The fix validates the record length against the explicit IV and tag length
before any AEAD processing, so that TLS reports bad_record_mac and DTLS
silently discards the record.
FIPS impact: no
The affected code is outside the FIPS module boundary.
| Product | Versions | Fixed in |
|---|---|---|
| openssl/openssl | ≥ 1.1.1, < 1.1.1zj | 1.1.1zj |
| openssl/openssl | ≥ 3.0.0, < 3.0.23 | 3.0.23 |
| openssl/openssl | ≥ 3.4.0, < 3.4.8 | 3.4.8 |
| openssl/openssl | ≥ 3.5.0, < 3.5.9 | 3.5.9 |
| openssl/openssl | ≥ 3.6.0, < 3.6.5 | 3.6.5 |
| openssl/openssl | ≥ 4.0.0, < 4.0.3 | 4.0.3 |