CVE-2026-64046: net: tls: prevent chain-after-chain in plain text SG
In the Linux kernel, the following vulnerability has been resolved:
net: tls: prevent chain-after-chain in plain text SG
Sashiko points out that if end = 0 (start != 0) the current code will create a chain link to content type right after the wrap link:
This would create a chain where the wrap link points directly to another chain link. The scatterlist API sgnext iterator does not recursively resolve consecutive chain links.
meaning this is illegal input to crypto.
The wrapping link is unnecessary if end = 0. end is the entry after the last one used so end = 0 means there's nothing pushed after the wrap:
end start i v v v [ ]...[ ][ d ][ d ][ d ][ d ][rsv for wrap]
Skip the wrapping in this case.
TLS 1.3 can use the "wrapping slot" for it's chaining if end = 0. This avoids the chain-after-chain.
Move the wrap chaining before marking END and chaining off content type, that feels like more logical ordering to me, but should not matter from functional perspective.
Affected Software
Remediation
Event History
Frequently Asked Questions
Is a fix available?
Yes. A patch is available, with stable kernel fix references 49a5faaa471ddcd37b6893970c9916eb836e7c31, 91359966e247c0244c66d50bbb8e74aefa4321c3, and 410351158dfef2d67fea6603680b3a6013c6ed9d.
What does the severity assessment indicate about attacker access and potential impact?
The CVSS 3.1 vector is AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, rated critical at 9.8. It indicates network reachability, low attack complexity, and no required privileges or user interaction, with high potential confidentiality, integrity, and availability impact.