CVE-2026-64297 module: decompress: check return value of module_extend_max_pages()
A missing error check in the Linux kernel module decompression path leads to a null pointer dereference and kernel oops upon allocation failure.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-64297?
CVE-2026-64297 is a medium-severity vulnerability in Linux kernel, published on 25 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
module: decompress: check return value of module_extend_max_pages()
module_extend_max_pages() calls kvrealloc() internally and returns -ENOMEM on allocation failure. The return value is never checked.
If the initial allocation fails, info->pages remains NULL and info->max_pages remains 0. Subsequent calls to module_get_next_page() will attempt to dynamically grow the array by calling module_extend_max_pages(info, 0) since info->used_pages is 0. This results in kvrealloc(NULL, 0) returning ZERO_SIZE_PTR, which is treated as a success, leading to a dereference of ZERO_SIZE_PTR and a kernel oops.
Fix: add the missing error check after module_extend_max_pages() and return immediately on failure. This matches the pattern used by every other kvrealloc() caller in the module loading path.
[Sami: Corrected the analysis in the commit message.]
Weakness: CWE-476
Which versions are affected by CVE-2026-64297?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-64297?
Apply the vendor's patch.
Is CVE-2026-64297 being exploited?
There is no known exploitation of CVE-2026-64297 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2026-64297, DEBIAN-CVE-2026-64297, GHSA-5c7j-4454-42wh, ROOT-OS-UBUNTU-2204-CVE-2026-64297, UBUNTU-CVE-2026-64297.