Description
In the Linux kernel, the following vulnerability has been resolved: lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen() Patch series "lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()", v2. This series fixes an off-by-one out-of-bounds read in ucs2_strnlen(). The first patch is the real fix, the second patch comes as a bonus and fixes the code indentation. This patch (of 2): ucs2_strnlen() checks the current character before checking whether the caller-provided maximum length has been reached. If the input is not NUL-terminated within that bound, the loop can read one ucs2_char_t past the limit. Test the length before dereferencing to prevent an off-by-one out-of-bounds read.
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
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 04ae68af4107600120c3c41c94268f43bc350d48affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 2e5a70a175f0c74e7238b013a96c4eabc3002934affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 3ada20e110bf3245edb0a3bcddadc33d0f142f8daffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 60c74f42f5abddb85dd919b4448d5474e65dbe76affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 709eb41adaf78d59d4579a13a898125919b69bccaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 7d658da725ea81c91f73087547b97e7ced82d62baffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 1b0dc3cbb8630f0b5cb34d848628225920a904beaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < cec0d03fe785380540dc1b4d07c80f67ae2ffc78affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/04ae68af4107600120c3c41c94268f43bc350d48 ↗
- https://git.kernel.org/stable/c/2e5a70a175f0c74e7238b013a96c4eabc3002934 ↗
- https://git.kernel.org/stable/c/3ada20e110bf3245edb0a3bcddadc33d0f142f8d ↗
- https://git.kernel.org/stable/c/60c74f42f5abddb85dd919b4448d5474e65dbe76 ↗
- https://git.kernel.org/stable/c/709eb41adaf78d59d4579a13a898125919b69bcc ↗
- https://git.kernel.org/stable/c/7d658da725ea81c91f73087547b97e7ced82d62b ↗
- https://git.kernel.org/stable/c/1b0dc3cbb8630f0b5cb34d848628225920a904be ↗
- https://git.kernel.org/stable/c/cec0d03fe785380540dc1b4d07c80f67ae2ffc78 ↗