Skip to main content
← All vulnerabilities
CVE-2026-89726

lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 04ae68af4107600120c3c41c94268f43bc350d48; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 2e5a70a175f0c74e7238b013a96c4eabc3002934; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 3ada20e110bf3245edb0a3bcddadc33d0f142f8d; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 60c74f42f5abddb85dd919b4448d5474e65dbe76; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 709eb41adaf78d59d4579a13a898125919b69bcc; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 7d658da725ea81c91f73087547b97e7ced82d62b; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 1b0dc3cbb8630f0b5cb34d848628225920a904be; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in cec0d03fe785380540dc1b4d07c80f67ae2ffc78

  • Linux Linux

    2.6.12

  • KernelLinux

    From 2.6.12 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4

References 8

git.kernel.org