CVE-2024-26783: mm/vmscan: fix a bug calling wakeup_kswapd() with a wrong zone index

Published Apr 4, 2024
·
Updated

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

mm/vmscan: fix a bug calling wakeupkswapd() with a wrong zone index

The Linux kernel CVE team has assigned CVE-2024-26783 to this issue.

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024040458-CVE-2024-26783-68c8@gregkh/T

Other sources

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

mm/vmscan: fix a bug calling wakeupkswapd() with a wrong zone index

With numa balancing on, when a numa system is running where a numa node doesn't have its local memory so it has no managed zones, the following oops has been observed. It's because wakeupkswapd() is called with a wrong zone index, -1. Fixed it by checking the index before calling wakeupkswapd().

BUG: unable to handle page fault for address: 00000000000033f3 #PF: supervisor read access in kernel mode #PF: errorcode(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 2 PID: 895 Comm: masim Not tainted 6.6.0-dirty #255 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:wakeupkswapd (./linux/mm/vmscan.c:7812) Code: (omitted) RSP: 0000:ffffc90004257d58 EFLAGS: 00010286 RAX: ffffffffffffffff RBX: ffff88883fff0480 RCX: 0000000000000003 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88883fff0480 RBP: ffffffffffffffff R08: ff0003ffffffffff R09: ffffffffffffffff R10: ffff888106c95540 R11: 0000000055555554 R12: 0000000000000003 R13: 0000000000000000 R14: 0000000000000000 R15: ffff88883fff0940 FS: 00007fc4b8124740(0000) GS:ffff888827c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000033f3 CR3: 000000026cc08004 CR4: 0000000000770ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? die ? pagefaultoops ? pteoffsetmaplock ? excpagefault ? asmexcpagefault ? wakeupkswapd migratemisplacedpage handlemmfault handlemmfault douseraddrfault excpagefault asmexcpagefault RIP: 0033:0x55b897ba0808 Code: (omitted) RSP: 002b:00007ffeefa821a0 EFLAGS: 00010287 RAX: 000055b89983acd0 RBX: 00007ffeefa823f8 RCX: 000055b89983acd0 RDX: 00007fc2f8122010 RSI: 0000000000020000 RDI: 000055b89983acd0 RBP: 00007ffeefa821a0 R08: 0000000000000037 R09: 0000000000000075 R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000 R13: 00007ffeefa82410 R14: 000055b897ba5dd8 R15: 00007fc4b8340000 </TASK>

MITRE

Affected Software

11 affected componentsFixes available
redhat/kernel<6.6.22
6.6.22
redhat/kernel<6.7.9
6.7.9
redhat/kernel<6.8
6.8
Linux Linux kernel>=5.18<6.6.22
Linux Linux kernel>=6.7<6.7.9
Linux Linux kernel=6.8-rc1
Linux Linux kernel=6.8-rc2
Linux Linux kernel=6.8-rc3
Linux Linux kernel=6.8-rc4
Linux Linux kernel=6.8-rc5
Linux Linux kernel=6.8-rc6

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/kernel to a version that resolves this vulnerability.

    Fixed in 6.6.22
  2. Upgrade

    Upgrade redhat/kernel to a version that resolves this vulnerability.

    Fixed in 6.7.9
  3. Upgrade

    Upgrade redhat/kernel to a version that resolves this vulnerability.

    Fixed in 6.8
  4. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch CVE-2024-26783
  5. Compensating control

    Ensure NUMA balancing is configured such that systems do not run with numa nodes lacking local memory/managed zones (the oops is observed when numa balancing is on and a numa node has no managed zones).

  6. Operational

    After applying the upstream fix for CVE-2024-26783, validate the bug scenario by rerunning the workload that previously triggered the page-fault oops (wakeup_kswapd called with a wrong zone index, -1).

Event History

Apr 4, 2024
CVE Published
via MITRE·08:20 AM
Data Sourced
via MITRE·08:20 AM
Description
Data Sourced
via NVD·09:15 AM
RemedyDescriptionSeverityAffected Software
Data Sourced
via Red Hat·04:56 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the vulnerability ID of the issue in the Linux kernel?

The vulnerability ID is CVE-2024-26783.

2

What is the severity of CVE-2024-26783?

The severity of CVE-2024-26783 has not been explicitly stated but it involves a bug fix related to memory management.

3

How do I fix CVE-2024-26783?

To fix CVE-2024-26783, upgrade to kernel version 6.6.22, 6.7.9, or 6.8.

4

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

Affected versions include all kernel versions prior to 6.6.22, 6.7.9, and 6.8.

5

Who assigned the CVE ID for this vulnerability?

The CVE ID for this vulnerability, CVE-2024-26783, was assigned by the Linux kernel CVE team.

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