CVE-2026-64046

net: tls: prevent chain-after-chain in plain text SG

State
Published
Severity
9.8 Critical
Published
Jul 19, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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 sg_next 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.

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

  • CWE-20 Improper Input Validation

Affected Products

ProductVersions
LinuxLinux
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before 49a5faaa471ddcd37b6893970c9916eb836e7c31Affected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before 91359966e247c0244c66d50bbb8e74aefa4321c3Affected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before 410351158dfef2d67fea6603680b3a6013c6ed9dAffected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before acdc12b71c9aa4be5dcd2c8062753c6d2033e235Affected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before 929b1548e63ac72e104c07d8ee8cbbeeba2fa89aAffected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before af855f4c966afafef74faf8390c7b86568c0d46dAffected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36Affected
  • 9aaaa56845a06aeabdd597cbe19492dc01f281ec to before ff26a0e8377dec07e4a7230db7675bed1b9a6d03Affected
  • d529d6c9f7e3aaeac13c4948f79799ccb825f29dAffected
  • 5.4.14 to before 5.5Affected
LinuxLinux
  • 5.5Affected
  • before 5.5Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.142 through 6.6.*Not affected
  • 6.12.92 through 6.12.*Not affected
  • 6.18.34 through 6.18.*Not affected
  • 7.0.11 through 7.0.*Not affected
  • 7.1 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.