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.
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
9aaaa56845a06aeabdd597cbe19492dc01f281ec to < 49a5faaa471ddcd37b6893970c9916eb836e7c31affected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < 91359966e247c0244c66d50bbb8e74aefa4321c3affected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < 410351158dfef2d67fea6603680b3a6013c6ed9daffected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < acdc12b71c9aa4be5dcd2c8062753c6d2033e235affected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < 929b1548e63ac72e104c07d8ee8cbbeeba2fa89aaffected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < af855f4c966afafef74faf8390c7b86568c0d46daffected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36affected9aaaa56845a06aeabdd597cbe19492dc01f281ec to < ff26a0e8377dec07e4a7230db7675bed1b9a6d03affectedd529d6c9f7e3aaeac13c4948f79799ccb825f29daffected5.4.14 to < 5.5affected
Linux Linux
Default version status: affected
5.5affected0 to < 5.5unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.142 to ≤ 6.6.*unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/49a5faaa471ddcd37b6893970c9916eb836e7c31 ↗
- https://git.kernel.org/stable/c/91359966e247c0244c66d50bbb8e74aefa4321c3 ↗
- https://git.kernel.org/stable/c/410351158dfef2d67fea6603680b3a6013c6ed9d ↗
- https://git.kernel.org/stable/c/acdc12b71c9aa4be5dcd2c8062753c6d2033e235 ↗
- https://git.kernel.org/stable/c/929b1548e63ac72e104c07d8ee8cbbeeba2fa89a ↗
- https://git.kernel.org/stable/c/af855f4c966afafef74faf8390c7b86568c0d46d ↗
- https://git.kernel.org/stable/c/b9c015ef1a7bf1e8dc67f21c6381f36deb2c3a36 ↗
- https://git.kernel.org/stable/c/ff26a0e8377dec07e4a7230db7675bed1b9a6d03 ↗