CVE-2026-64297

module: decompress: check return value of module_extend_max_pages()

State
Published
Severity
Not scored
Published
Jul 25, 2026
Updated
Aug 17, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

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.]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 to before e7f174715f9f0cbcb9e87b52e4fc4ef149baac98Affected
  • b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 to before afcc0515bbdd28d509a2b5870faaa89b137f5d53Affected
  • b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 to before 168072baf9ad516d5a06046514c7fea4c0671990Affected
  • b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 to before a82e170637e050a803b4f37542371ef216bf66d2Affected
  • b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 to before e7da02659c229f73492fb1ed87ceda4090153aaaAffected
  • b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 to before 786d2d84416a9a1c1a47b71a68d679d886284be2Affected
LinuxLinux
  • 5.17Affected
  • before 5.17Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.1.4 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.