CVE-2026-97906: Linux kernel · bootconfig: Fix integer overflow in initrd size check
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in bff9a1579e2c9b2a59fdf3793becc9d7bf5ff1a6 : update Linux kernel when convenient.
Data as of 26 Oct 2026, 13:07 UTC
Rated by Threat Radar · CVSS not yet scored by NVD
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 12% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in bff9a1579e2c9b2a59fdf3793becc9d7bf5ff1a6, 7812d6dab0698001e50e8c2f901e17da3eb6f429, 97be05f33f79342ea65d9b99c9ad07a93b8eef5a +3
Exploitation evidence
Disclosed: evidence found.
CVE published 25 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
Description
In the Linux kernel, the following vulnerability has been resolved: bootconfig: Fix integer overflow in initrd size check Sashiko reported that in get_boot_config_from_initrd(), a crafted initrd with a huge bootconfig size (such as 0xFFFFFFFF) can cause the pointer arithmetic: data = ((void *)hdr) - size; to wrap around on 32-bit systems (or when pointer subtraction overflows). Because data wraps around, the subsequent bounds check: if ((unsigned long)data < initrd_start) evaluates to false, bypassing the check. The kernel then calls xbc_calc_checksum(data, size), which attempts to read 4GB of memory, hitting unmapped pages and triggering a fatal kernel page fault during early boot. Furthermore, on 64-bit systems with an initrd > 4.29 GB, an unbounded 32-bit size can similarly bypass the initrd_start check. Fix this by: 1. Ensuring the initrd is at least large enough to contain the bootconfig footer and verifying hdr is within the initrd bounds. 2. Checking that size does not exceed XBC_DATA_MAX and does not exceed the available space between initrd_start and hdr before performing pointer subtraction.
References
- git.kernel.org/stable/c/97be05f33f79342ea65d9b99c9ad07a93b8eef5a (opens in a new tab)
- git.kernel.org/stable/c/4d45bc0f8cdf606d5409b5f64a8a6609f6520c03 (opens in a new tab)
- git.kernel.org/stable/c/8d4343a411eaa182d323ab5b149496416015f27d (opens in a new tab)
- git.kernel.org/stable/c/bff9a1579e2c9b2a59fdf3793becc9d7bf5ff1a6 (opens in a new tab)
- git.kernel.org/stable/c/7812d6dab0698001e50e8c2f901e17da3eb6f429 (opens in a new tab)