CVE-2026-74611
Description
A flaw was found in the Linux kernel's Transport Layer Security (TLS) 1.3 implementation. When processing TLS 1.3 records with optimistic zero-copy enabled, the tls_decrypt_sg() function fails to properly restore the message iterator during a retry. A remote attacker, by sending a specially crafted TLS 1.3 control record, can exploit this to cause the kernel to write decrypted data to unintended memory locations. This can lead to data corruption or potentially information disclosure.
Statement
A user-buffer overwrite can occur in the Linux kernel TLS 1.3 receive path due to incorrect handling of the message iterator during an optimistic zero-copy retry. tls_decrypt_sg() advances msg->msg_iter while mapping the caller-provided iovecs for the optimistic zero-copy receive path. If the decrypted TLS 1.3 record is subsequently determined not to be unpadded application data, tls_decrypt_sw() falls back to decrypting through a kernel skb. Before the fix, this retry occurred without restoring the iterator to its original position.
As a result, the subsequent copy from the skb starts at the already advanced iterator position and can write decrypted peer-controlled data into later portions of the caller-provided iovecs. recvmsg() nevertheless reports only the length associated with the retried receive operation. The receiving application can therefore observe memory beyond the range implied by the recvmsg() return value being unexpectedly modified.
The vulnerable path is remotely triggerable by a TLS peer when the receiving application uses kernel TLS (kTLS) with TLS 1.3 RX and enables TLS_RX_EXPECT_NO_PAD. A peer can then send a TLS record, such as a control record, that causes the optimistic zero-copy path to fall back to the retry path.
The directly demonstrated impact is corruption of the receiving process's user buffers. This is not an arbitrary kernel-memory write: the erroneous copy remains within user iovec memory previously supplied by the receiving application to recvmsg(). No kernel memory corruption, kernel privilege escalation, or arbitrary code execution has been demonstrated. Depending on how the affected application allocates and subsequently interprets its receive buffers, the unexpected overwrite can corrupt application state or cause application-level denial of service.
Integrity impact is therefore directly supported, while availability impact is application-dependent. Confidentiality impact is less direct because the primitive itself writes peer-controlled decrypted data rather than exposing kernel or process memory to the attacker. A paranoid assessment may retain limited confidentiality and integrity impact.
The practical assessment therefore accounts for the remotely reachable attack surface while recognizing the specific kTLS configuration prerequisite and the fact that the demonstrated overwrite is confined to caller-provided user buffers rather than kernel memory.
Mitigation
To mitigate this issue, prevent module tls from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7 | N/A | 9.8 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | High | N/A | Low |
| Privileges Required | None | N/A | None |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | Low | N/A | High |
| Integrity Impact | Low | N/A | High |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H
cve.org: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Understanding the Weakness (CWE)
Integrity
Technical Impact: Modify Memory; Execute Unauthorized Code or Commands
Write operations could cause memory corruption. In some cases, an adversary can modify control data such as return addresses in order to execute unexpected code.
Availability
Technical Impact: DoS: Crash, Exit, or Restart
Attempting to access out-of-range, invalid, or unauthorized memory could cause the product to crash.
Other
Technical Impact: Unexpected State
Subsequent write operations can produce undefined or unexpected results.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.