CVE-2024-45022: mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0

Published Sep 11, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

mm/vmalloc: fix page mapping if vmareaallocpages() with high order fallback to order 0

The vmappagesrangenoflush() assumes its argument pages contains pages with the same page shift. However, since commit e9c3cda4d86e ("mm, vmalloc: fix high order GFPNOFAIL allocations"), if gfpflags includes GFPNOFAIL with high order in vmareaallocpages() and page allocation failed for high order, the pages may contain two different page shifts (high order and order-0). This could lead vmappagesrangenoflush() to perform incorrect mappings, potentially resulting in memory corruption.

Users might encounter this as follows (vmapallowhuge = true, 2M is for PMDSIZE):

kvmalloc(2M, GFPNOFAIL|GFPX) vmallocnoderangenoprof(vmflags=VMALLOWHUGEVMAP) vmareaallocpages(order=9) ---> order-9 allocation failed and fallback to order-0 vmappagesrange() vmappagesrangenoflush() vmappagesrangenoflush(pageshift = 21) ----> wrong mapping happens

We can remove the fallback code because if a high-order allocation fails, vmallocnoderangenoprof() will retry with order-0. Therefore, it is unnecessary to fallback to order-0 here. Therefore, fix this by removing the fallback code.

Affected Software

10 affected componentsFixes available
Linux Linux kernel>=6.1.95<6.1.107
Linux Linux kernel>=6.3<6.6.48
Linux Linux kernel>=6.7<6.10.7
Linux Linux kernel=6.11-rc1
Linux Linux kernel=6.11-rc2
Linux Linux kernel=6.11-rc3
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-16.12.27-1
debian/linux-6.1
6.1.129-1~deb11u1
Microsoft azl3 kernel 6.6.47.1-1
Microsoft azl3 kernel 6.6.51.1-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1Fixed in 6.12.27-1
  2. Upgrade

    Upgrade debian/linux-6.1 to a version that resolves this vulnerability.

    Fixed in 6.1.129-1~deb11u1

Event History

Sep 11, 2024
CVE Published
via MITRE·03:13 PM
Data Sourced
via MITRE·03:13 PM
DescriptionSeverity
Data Sourced
via NVD·04:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via Red Hat·04:21 PM
DescriptionSeverityAffected Software
Oct 15, 2024
Data Sourced
via Microsoft·07:00 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·07:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
DescriptionSeverity
Jan 9, 2025
Data Sourced
via Ubuntu·06:31 PM
RemedyDescriptionSeverityAffected Software
Jan 5, 58561
Event
via MITRE·01:47 AM

Frequently Asked Questions

1

What is the severity of CVE-2024-45022?

CVE-2024-45022 is classified as having a medium severity level due to the potential impacts on memory management in the Linux kernel.

2

How do I fix CVE-2024-45022?

To address CVE-2024-45022, upgrade to one of the following patched versions: 5.10.223-1, 5.10.226-1, 6.1.123-1, 6.1.119-1, or 6.12.11-1.

3

Which versions of the Linux kernel are affected by CVE-2024-45022?

CVE-2024-45022 affects Linux kernel versions from 6.1.95 to 6.1.107 and multiple versions between 6.3 and 6.6.48.

4

What is the nature of the vulnerability in CVE-2024-45022?

CVE-2024-45022 involves an issue in memory management related to page mapping assumptions in the Linux kernel.

5

Is CVE-2024-45022 a remote vulnerability?

CVE-2024-45022 is not classified as a remote vulnerability, but it can impact the overall stability of affected systems.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203