Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Remote TLS peer triggers it (AV:N/PR:N) but only under the non-default TLS_RX_EXPECT_NO_PAD config (AC:H); impact is misplaced writes into the app's own iovec buffers - integrity high, limited disclosure and disruption.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
5DescriptionCVE.org
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.
AnalysisAI
Improper handling of the receive-side message iterator in the Linux kernel's kernel-TLS (kTLS) subsystem lets a remote TLS peer cause recvmsg() to write decrypted bytes into the wrong offsets of a receiver's user-space iovec buffers. When the optimistic TLS 1.3 zero-copy path maps user pages and then falls back to a kernel skb, the iterator is left advanced, so bytes are written a second time past the length recvmsg() reports. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires the receiving socket to have kernel-TLS (kTLS) receive offload active on a TLS 1.3 connection AND to have explicitly enabled the TLS_RX_EXPECT_NO_PAD socket option - this is the exact configuration named in the description and is not the default. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The published CVSS 9.8 (AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:H) substantially overstates real-world risk and appears to be a default maximal kernel scoring. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | A receiving application enables kernel-TLS with TLS_RX_EXPECT_NO_PAD on a TLS 1.3 connection and calls recvmsg() with a multi-segment iovec. A malicious or malfunctioning TLS peer sends a crafted control-type record that triggers the optimistic zero-copy decrypt followed by the kernel-skb retry; the leftover-advanced iterator causes decrypted bytes to be written past the returned length into later iovec segments, corrupting or leaking data the application did not expect to receive. … |
| Remediation | Vendor-released patch: update to Linux stable 6.18.45, 7.1.9, or 7.2 (or later), which apply the fix that reverts msg_iter before the non-zero-copy retry (mainline commit 3c837266a734). … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify systems with TLS_RX_EXPECT_NO_PAD socket option enabled and prioritize their patching; within 7 days, deploy the vendor-released patch across all affected Linux systems and coordinate necessary kernel reboots; within 30 days, confirm patch deployment completion and validate all systems are running patched kernel versions.
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-64548
GHSA-g4xp-j3j4-vmrq