CVE-2026-89726 lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()
An off-by-one out-of-bounds read in the Linux kernel's ucs2_strnlen function allows attackers to read memory past buffer limits, potentially causing crashes or information leaks.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-89726?
CVE-2026-89726 is a memory corruption vulnerability in Linux, published on 11 Sep 2026.
Official 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.
Which versions are affected by CVE-2026-89726?
How do I fix CVE-2026-89726?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-89726 being exploited?
There is no known exploitation of CVE-2026-89726 in the wild and no public exploit code.
Sources
Also known as AZL-100106, BELL-CVE-2026-89726, DEBIAN-CVE-2026-89726, GHSA-rfcj-g8r9-q3mj, UBUNTU-CVE-2026-89726.