---
id: "CVE-2026-95692"
page: "https://infrastack.ai/live/CVE-2026-95692"
kind: "vulnerability"
aliases: ["CVE-2026-95692"]
title: "OpenSSL: wrong-length IV for AES-GCM-SIV reads past buffer and forges"
severity: "low"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["aes-gcm-siv", "c", "crypto", "openssl", "package"]
not_affected_if: ["default-iv-length", "fips-module", "other-ciphers"]
published_at: "2026-11-10T19:21:39+00:00"
first_seen_at: "2026-11-10T19:25:22+00:00"
updated_at: "2026-11-10T20:04:41+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-95692", "first_seen_at": "2026-11-10T19:25:22+00:00"}]
exploit_sources: []
---

# OpenSSL: wrong-length IV for AES-GCM-SIV reads past buffer and forges

Link for people: https://infrastack.ai/live/CVE-2026-95692 (this .md is for agents)

Setting an AES-GCM-SIV IV with a length other than 12 bytes through EVP_CipherInit_ex() can read past the caller's heap buffer, and longer IVs are silently truncated. Because trailing IV bytes are ignored, an attacker who has seen one message and tag can forge a message that verifies under a different IV with the same leading bytes.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Search your code for calls to `EVP_CipherInit_ex` or provider cipher init using AES-GCM-SIV with a custom IV length.
- Check your OpenSSL version with `openssl version`.

## Timeline

- 2026-11-10T19:25:22+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-95692

## Documents

- [fix] Patch: github.com https://github.com/openssl/openssl/commit/257a3427aa0ef8d9dd2ef5b3e2d1c021a221b116
- [fix] Patch: github.com https://github.com/openssl/openssl/commit/510872388f5d145cf870868b3d288a23822cb776
- [fix] Patch: github.com https://github.com/openssl/openssl/commit/70a47ac78b6f3be1b22fb1551bd0bfcff4f29613

## From the sources

Issue summary: Setting an AES-GCM-SIV IV shorter than the expected nonce
length via EVP_CipherInit_ex() 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
EVP_CipherInit_ex() into ossl_aes_gcm_siv_init(). 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 EVP_CipherInit_ex() (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.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
