CVE-2024-56611

Updated on 27 Dec 2024

Severity

5.5 Medium severity

Details

CVSS score
5.5
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Overview

About vulnerability

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

mm/mempolicy: fix migrate_to_node() assuming there is at least one VMA in a MM

We currently assume that there is at least one VMA in a MM, which isn’t true.

So we might end up having find_vma() return NULL, to then de-reference NULL. So properly handle find_vma() returning NULL.

This fixes the report:

Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 UID: 0 PID: 6021 Comm: syz-executor284 Not tainted 6.12.0-rc7-syzkaller-00187-gf868cd251776 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/30/2024 RIP: 0010:migrate_to_node mm/mempolicy.c:1090 [inline] RIP: 0010:do_migrate_pages+0x403/0x6f0 mm/mempolicy.c:1194 Code: … RSP: 0018:ffffc9000375fd08 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffffc9000375fd78 RCX: 0000000000000000 RDX: ffff88807e171300 RSI: dffffc0000000000 RDI: ffff88803390c044 RBP: ffff88807e171428 R08: 0000000000000014 R09: fffffbfff2039ef1 R10: ffffffff901cf78f R11: 0000000000000000 R12: 0000000000000003 R13: ffffc9000375fe90 R14: ffffc9000375fe98 R15: ffffc9000375fdf8 FS: 00005555919e1380(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005555919e1ca8 CR3: 000000007f12a000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> kernel_migrate_pages+0x5b2/0x750 mm/mempolicy.c:1709 __do_sys_migrate_pages mm/mempolicy.c:1727 [inline] __se_sys_migrate_pages mm/mempolicy.c:1723 [inline] __x64_sys_migrate_pages+0x96/0x100 mm/mempolicy.c:1723 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f

[[email protected]: add unlikely()]

Details

Fixes

KernelCare state

Live-patch status from KernelCare for each operating system.

Operating system Status Covered kernels
AlmaLinux 9 Released
17 kernels
  • 5.14.0-503.11.1.el9_5
  • 5.14.0-503.14.1.el9_5
  • 5.14.0-503.15.1.el9_5
  • 5.14.0-503.16.1.el9_5
  • 5.14.0-503.19.1.el9_5
  • 5.14.0-503.21.1.el9_5
  • 5.14.0-503.22.1.el9_5
  • 5.14.0-503.23.2.el9_5
  • 5.14.0-503.26.1.el9_5
  • 5.14.0-503.23.1.el9_5
  • 5.14.0-503.31.1.el9_5
  • 5.14.0-503.34.1.el9_5
  • 5.14.0-503.29.1.el9_5
  • 5.14.0-503.35.1.el9_5
  • 5.14.0-503.33.1.el9_5
  • 5.14.0-503.38.1.el9_5
  • 5.14.0-503.40.1.el9_5
AlmaLinux 9.2 ESU Released
28 kernels
  • 5.14.0-284.1101.el9_2.tuxcare.7.els20
  • 5.14.0-284.1101.el9_2.tuxcare.7.els21
  • 5.14.0-284.1101.el9_2.tuxcare.7.els23
  • 5.14.0-284.1101.el9_2.tuxcare.7.els22
  • 5.14.0-284.1101.el9_2.tuxcare.7.els14
  • 5.14.0-284.1101.el9_2.tuxcare.7.els18
  • 5.14.0-284.1101.el9_2.tuxcare.7.els16
  • 5.14.0-284.1101.el9_2.tuxcare.7.els15
  • 5.14.0-284.1101.el9_2.tuxcare.7.els17
  • 5.14.0-284.1101.el9_2.tuxcare.7.els19
  • 5.14.0-284.1101.el9_2.tuxcare.7.els24
  • 5.14.0-284.1101.el9_2.tuxcare.7.els25
  • 5.14.0-284.1101.el9_2.tuxcare.7.els26
  • 5.14.0-284.1101.el9_2.tuxcare.7.els27
  • 5.14.0-284.1101.el9_2.tuxcare.7.els28
  • 5.14.0-284.1101.el9_2.tuxcare.7.els29
  • 5.14.0-284.1101.el9_2.tuxcare.7.els30
  • 5.14.0-284.1101.el9_2.tuxcare.7.els31
  • 5.14.0-284.1101.el9_2.tuxcare.7.els32
  • 5.14.0-284.1101.el9_2.tuxcare.7.els35
  • 5.14.0-284.1101.el9_2.tuxcare.7.els34
  • 5.14.0-284.1101.el9_2.tuxcare.11.els1
  • 5.14.0-284.1101.el9_2.tuxcare.11.els2
  • 5.14.0-284.1101.el9_2.tuxcare.11.els3
  • 5.14.0-284.1101.el9_2.tuxcare.11.els4
  • 5.14.0-284.1101.el9_2.tuxcare.11.els5
  • 5.14.0-284.1101.el9_2.tuxcare.11.els6
  • 5.14.0-284.1101.el9_2.tuxcare.11.els7
Oracle Linux 9 Released
17 kernels
  • 5.14.0-503.11.1.el9_5
  • 5.14.0-503.14.1.el9_5
  • 5.14.0-503.15.1.el9_5
  • 5.14.0-503.16.1.el9_5
  • 5.14.0-503.19.1.el9_5
  • 5.14.0-503.21.1.el9_5
  • 5.14.0-503.22.1.el9_5
  • 5.14.0-503.23.1.el9_5
  • 5.14.0-503.23.2.el9_5
  • 5.14.0-503.26.1.el9_5
  • 5.14.0-503.31.1.el9_5
  • 5.14.0-503.29.1.el9_5
  • 5.14.0-503.33.1.el9_5
  • 5.14.0-503.34.1.el9_5
  • 5.14.0-503.35.1.el9_5
  • 5.14.0-503.38.1.el9_5
  • 5.14.0-503.40.1.el9_5
RHEL 9 Released
17 kernels
  • 5.14.0-503.11.1.el9_5
  • 5.14.0-503.14.1.el9_5
  • 5.14.0-503.15.1.el9_5
  • 5.14.0-503.16.1.el9_5
  • 5.14.0-503.19.1.el9_5
  • 5.14.0-503.21.1.el9_5
  • 5.14.0-503.22.1.el9_5
  • 5.14.0-503.23.1.el9_5
  • 5.14.0-503.23.2.el9_5
  • 5.14.0-503.26.1.el9_5
  • 5.14.0-503.29.1.el9_5
  • 5.14.0-503.31.1.el9_5
  • 5.14.0-503.33.1.el9_5
  • 5.14.0-503.34.1.el9_5
  • 5.14.0-503.35.1.el9_5
  • 5.14.0-503.38.1.el9_5
  • 5.14.0-503.40.1.el9_5
Rocky Linux 9 Released
16 kernels
  • 5.14.0-503.14.1.el9_5
  • 5.14.0-503.15.1.el9_5
  • 5.14.0-503.16.1.el9_5
  • 5.14.0-503.19.1.el9_5
  • 5.14.0-503.21.1.el9_5
  • 5.14.0-503.22.1.el9_5
  • 5.14.0-503.23.2.el9_5
  • 5.14.0-503.26.1.el9_5
  • 5.14.0-503.23.1.el9_5
  • 5.14.0-503.31.1.el9_5
  • 5.14.0-503.34.1.el9_5
  • 5.14.0-503.29.1.el9_5
  • 5.14.0-503.35.1.el9_5
  • 5.14.0-503.33.1.el9_5
  • 5.14.0-503.38.1.el9_5
  • 5.14.0-503.40.1.el9_5
Ubuntu 24.04 Released
20 kernels
  • 6.8.0-35.35
  • 6.8.0-38.38
  • 6.8.0-36.36
  • 6.8.0-39.39
  • 6.8.0-40.40
  • 6.8.0-41.41
  • 6.8.0-44.44
  • 6.8.0-45.45
  • 6.8.0-31.31
  • 6.8.0-47.47
  • 6.8.0-48.48
  • 6.8.0-49.49
  • 6.8.0-50.51
  • 6.8.0-51.52
  • 6.8.0-52.53
  • 6.8.0-54.56
  • 6.8.0-55.57
  • 6.8.0-53.55
  • 6.8.0-56.58
  • 6.8.0-57.59
Ubuntu 24.04 AWS Ready For Release