Description
In the Linux kernel, the following vulnerability has been resolved: net/ipv6: ioam6: prevent schema length wraparound in trace fill ioam6_fill_trace_data() stores the schema contribution to the trace length in a u8. With bit 22 enabled and the largest schema payload, sclen becomes 1 + 1020 / 4, wraps from 256 to 0, and bypasses the remaining-space check. __ioam6_fill_trace_data() then positions the write cursor without reserving the schema area but still copies the 4-byte schema header and the full schema payload, overrunning the trace buffer. Keep sclen in an unsigned int so the remaining-space check and the write cursor calculation both see the full schema length.
Product status
8c6f6fa6772696be0c047a711858084b38763728 (git) before e96d48b37708d53cbdc47f6f60b0714fc4a5f596
8c6f6fa6772696be0c047a711858084b38763728 (git) before d1b041080086e91d3733a5438a8c51ad5d3d8e09
8c6f6fa6772696be0c047a711858084b38763728 (git) before 77695a69baca9b99d95fad09fc78c2318736604f
8c6f6fa6772696be0c047a711858084b38763728 (git) before 184d2e9db27c0f76226b5cad16fe29510a5d2280
8c6f6fa6772696be0c047a711858084b38763728 (git) before d6e1c9b02d85a4f1f4ba6d68e916d9b610a3ed7d
8c6f6fa6772696be0c047a711858084b38763728 (git) before 5e67ba9bb531e1ec6599a82a065dea9040b9ce50
5.15
Any version before 5.15
6.1.168 (semver)
6.6.134 (semver)
6.12.81 (semver)
6.18.22 (semver)
6.19.12 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/e96d48b37708d53cbdc47f6f60b0714fc4a5f596
git.kernel.org/...c/d1b041080086e91d3733a5438a8c51ad5d3d8e09
git.kernel.org/...c/77695a69baca9b99d95fad09fc78c2318736604f
git.kernel.org/...c/184d2e9db27c0f76226b5cad16fe29510a5d2280
git.kernel.org/...c/d6e1c9b02d85a4f1f4ba6d68e916d9b610a3ed7d
git.kernel.org/...c/5e67ba9bb531e1ec6599a82a065dea9040b9ce50