CVE-2026-74611

tls: rx: restore msg_iter before TLS 1.3 optimistic retry

State
Published
Severity
9.8 Critical
Published
Aug 22, 2026
Updated
Oct 30, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to before 97004f3c17371ee1b259887298711e0604666688Affected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to before c71bacacd59166adbea423a04e7474b0e8245b84Affected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to before 3c4e21b1bf8e666a1c141e0f5813ece929570debAffected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to before 68787940274ec89f41dc91b1a68ee1a16a90735fAffected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to before 3c837266a734e2a22b24d2d567404a501d405835Affected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to before 1c8629651cb54f7b51db8fc0b1a9944e4a4b0f5eAffected
LinuxLinux
  • 6.0Affected
  • before 6.0Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.45 through 6.18.*Not affected
  • 7.1.9 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.