UBUNTU-CVE-2026-95692: Medium severity ubuntu/openssl vulnerability
Issue summary: Setting an AES-GCM-SIV IV shorter than the expected nonce length via EVPCipherInitex() may trigger a heap out-of-bounds read. Supplying a longer IV is silently truncated instead of rejected. Impact summary: An application passing a caller-supplied IV of the wrong length may crash or read beyond its buffer. Because trailing IV bytes are ignored, an attacker who knows one message and tag may forge messages under a different IV. CWE: CWE-125: Out-of-bounds Read Description: AES-GCM-SIV copies the caller-supplied IV or nonce into its internal state using a copy whose length is taken from the expected nonce size rather than from the length the caller actually provided. When the caller passes a shorter IV, the copy reads past the end of the caller's buffer; AddressSanitizer confirms a heap out-of-bounds read reached through EVPCipherInitex() into osslaesgcmsivinit(). When the caller passes a longer IV, the implementation silently discards the trailing bytes instead of rejecting the length. The truncation breaks the binding between the IV and the computed authentication tag. An attacker who has observed a message and its tag under one IV can produce a message and tag that verify under a different IV whose first bytes match, since the surplus bytes never influence the computation. The message itself is unchanged, so this is a failure of IV commitment rather than a classic existential forgery. Only applications that call EVPCipherInitex() (or the equivalent provider cipher initialization) with an IV length other than the standard 12 bytes for AES-GCM-SIV are affected. The severity is limited because the out-of-bounds read is small and attacker-controlled only in length, and the forgery requires an unusual IV length choice by the application. FIPS impact: no The FIPS modules are not affected by this issue, as AES-GCM-SIV is not an approved algorithm.
Affected Software
Event History
Frequently Asked Questions
Which deployments are most exposed to this issue?
Applications using AES-GCM-SIV through EVP_CipherInit_ex() are exposed when they accept an IV or nonce from a caller and do not ensure it has the expected length before passing it to the cipher.
What must an attacker control to exploit the memory-safety impact?
The attacker needs to cause the application to supply an AES-GCM-SIV IV shorter than the expected nonce length. This can make the implementation read beyond the caller-provided IV buffer and may crash the application or disclose data beyond that buffer.
What is the cryptographic impact of accepting an overlong IV?
Trailing bytes are silently ignored rather than rejected. An attacker who knows a message and its tag under one IV may be able to forge messages under a different IV that shares the accepted prefix.
What can be done before patches are available?
Validate AES-GCM-SIV IV or nonce lengths in the application before every EVP_CipherInit_ex() call. Reject both shorter and longer values rather than allowing the crypto library to process them.