Skip to content
CVE PROGRAM SOURCE RECORD9.8 Critical

CVE-2026-74611

tls: rx: restore msg_iter before TLS 1.3 optimistic retry

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to < 97004f3c17371ee1b259887298711e0604666688affected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to < c71bacacd59166adbea423a04e7474b0e8245b84affected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to < 3c4e21b1bf8e666a1c141e0f5813ece929570debaffected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to < 68787940274ec89f41dc91b1a68ee1a16a90735faffected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to < 3c837266a734e2a22b24d2d567404a501d405835affected
  • ce61327ce989b63c0bd1cc7afee00e218ee696ac to < 1c8629651cb54f7b51db8fc0b1a9944e4a4b0f5eaffected

Linux Linux

Default version status: affected

  • 6.0affected
  • 0 to < 6.0unaffected
  • 6.1.191 to ≤ 6.1.*unaffected
  • 6.6.160 to ≤ 6.6.*unaffected
  • 6.12.114 to ≤ 6.12.*unaffected
  • 6.18.45 to ≤ 6.18.*unaffected
  • 7.1.9 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References