CVE-2026-23474
Description
In the Linux kernel, the following vulnerability has been resolved:
mtd: Avoid boot crash in RedBoot partition table parser
Given CONFIG_FORTIFY_SOURCE=y and a recent compiler, commit 439a1bcac648 ("fortify: Use __builtin_dynamic_object_size() when available") produces the warning below and an oops.
Searching for RedBoot partition table in 50000000.flash at offset 0x7e0000 ------------[ cut here ]------------ WARNING: lib/string_helpers.c:1035 at 0xc029e04c, CPU#0: swapper/0/1 memcmp: detected buffer overflow: 15 byte read of buffer size 14 Modules linked in: CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.19.0 #1 NONE
As Kees said, "'names' is pointing to the final 'namelen' many bytes of the allocation ... 'namelen' could be basically any length at all. This fortify warning looks legit to me -- this code used to be reading beyond the end of the allocation."
Since the size of the dynamic allocation is calculated with strlen() we can use strcmp() instead of memcmp() and remain within bounds.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A RedBoot partition table parser in the Linux kernel uses memcmp with a length that may exceed the allocation, triggering a fortify warning and boot crash when CONFIG_FORTIFY_SOURCE is enabled with recent compilers.
Vulnerability
CVE-2026-23474 describes a buffer overread in the Linux kernel's RedBoot partition table parser (mtd). When CONFIG_FORTIFY_SOURCE=y is set with a recent compiler, the aggressive bounds checking now raises a memcmp: detected buffer overflow warning, followed by a kernel oops during boot [1]. The root cause is that the code uses memcmp() with a namelen length argument that can be up to 14 bytes, but the destination pointer names only points into an allocation of size 14 (the total available space). As explained in the commit message, `'names' is pointing to the final 'namelen' many bytes of the allocation ... 'namelen' could be basically any length at all. This fortify warning looks legit to me -- this code used to be reading beyond the end of the allocation.'
Exploitation
This vulnerability is triggered during normal boot when the kernel parses the RedBoot partition table from flash. No special privileges or authentication are required, as it occurs in the early boot path before userspace is available. An attacker who can control the partition table data on flash (e.g., via physical access or a previous compromise) could potentially craft a malicious table to induce the overread, though the primary impact is a denial of service from the crash.
Impact
The immediate consequence is a kernel crash (oops) that prevents the system from booting. While the overread may not allow data exfiltration or privilege escalation in the common case, a denial-of-service condition is reliably triggered on systems with RedBoot partition tables when the fortified kernel is used.
Mitigation
The fix has been applied in the Linux kernel stable tree [1][2][3][4] and replaces the unsafe memcmp() with strcmp(), which naturally stops at a null terminator and thus stays within the allocated buffer. Users should update to a kernel version containing the patch or backport the change. No workaround is available for unpatched kernels; disabling CONFIG_FORTIFY_SOURCE would avoid the crash but would remove a valuable security hardening feature.
AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
8- git.kernel.org/stable/c/0b08be5aca212a99f8ba786fee4922feac08002cnvd
- git.kernel.org/stable/c/2025b2d1f9d5cad6ea6fe85654c6c41297c3130bnvd
- git.kernel.org/stable/c/75a4d8cfe7784f909b3bd69325abac8e04ecb385nvd
- git.kernel.org/stable/c/8e2f8020270af7777d49c2e7132260983e4fc566nvd
- git.kernel.org/stable/c/c4054ad2d8bff4e8e937cd4a1d1a04c1e8f77a2cnvd
- git.kernel.org/stable/c/ca235d11fc2fd8fce1dcd9d732dc780be0cde2denvd
- git.kernel.org/stable/c/d8570211a2b1ec886a462daa0be4e9983ac768bbnvd
- git.kernel.org/stable/c/e0065e106f798ce6862251bc4fc030ac5cead940nvd
News mentions
0No linked articles in our index yet.