跳转到帖子

Ubuntu: (Multiple Advisories) (CVE-2024-40915): Linux kernel vulnerabilities

recommended_posts

发布于
  • Members

Ubuntu: (Multiple Advisories) (CVE-2024-40915): Linux kernel vulnerabilities

Severity
4
CVSS
(AV:L/AC:M/Au:N/C:P/I:P/A:P)
Published
07/12/2024
Created
09/13/2024
Added
09/12/2024
Modified
01/10/2025

Description

In the Linux kernel, the following vulnerability has been resolved: riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context __kernel_map_pages() is a debug function which clears the valid bit in page table entry for deallocated pages to detect illegal memory accesses to freed pages. This function set/clear the valid bit using __set_memory(). __set_memory() acquires init_mm's semaphore, and this operation may sleep. This is problematic, because__kernel_map_pages() can be called in atomic context, and thus is illegal to sleep. An example warning that this causes: BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1578 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 2, name: kthreadd preempt_count: 2, expected: 0 CPU: 0 PID: 2 Comm: kthreadd Not tainted 6.9.0-g1d4c6d784ef6 #37 Hardware name: riscv-virtio,qemu (DT) Call Trace: [<ffffffff800060dc>] dump_backtrace+0x1c/0x24 [<ffffffff8091ef6e>] show_stack+0x2c/0x38 [<ffffffff8092baf8>] dump_stack_lvl+0x5a/0x72 [<ffffffff8092bb24>] dump_stack+0x14/0x1c [<ffffffff8003b7ac>] __might_resched+0x104/0x10e [<ffffffff8003b7f4>] __might_sleep+0x3e/0x62 [<ffffffff8093276a>] down_write+0x20/0x72 [<ffffffff8000cf00>] __set_memory+0x82/0x2fa [<ffffffff8000d324>] __kernel_map_pages+0x5a/0xd4 [<ffffffff80196cca>] __alloc_pages_bulk+0x3b2/0x43a [<ffffffff8018ee82>] __vmalloc_node_range+0x196/0x6ba [<ffffffff80011904>] copy_process+0x72c/0x17ec [<ffffffff80012ab4>] kernel_clone+0x60/0x2fe [<ffffffff80012f62>] kernel_thread+0x82/0xa0 [<ffffffff8003552c>] kthreadd+0x14a/0x1be [<ffffffff809357de>] ret_from_fork+0xe/0x1c Rewrite this function with apply_to_existing_page_range(). It is fine to not have any locking, because __kernel_map_pages() works with pages being allocated/deallocated and those pages are not changed by anyone else in the meantime.

Solution(s)

  • ubuntu-upgrade-linux-image-5-15-0-1038-xilinx-zynqmp
  • ubuntu-upgrade-linux-image-5-15-0-1055-gkeop
  • ubuntu-upgrade-linux-image-5-15-0-1065-ibm
  • ubuntu-upgrade-linux-image-5-15-0-1065-raspi
  • ubuntu-upgrade-linux-image-5-15-0-1067-intel-iotg
  • ubuntu-upgrade-linux-image-5-15-0-1067-nvidia
  • ubuntu-upgrade-linux-image-5-15-0-1067-nvidia-lowlatency
  • ubuntu-upgrade-linux-image-5-15-0-1069-gke
  • ubuntu-upgrade-linux-image-5-15-0-1069-kvm
  • ubuntu-upgrade-linux-image-5-15-0-1070-oracle
  • ubuntu-upgrade-linux-image-5-15-0-1071-gcp
  • ubuntu-upgrade-linux-image-5-15-0-1072-aws
  • ubuntu-upgrade-linux-image-5-15-0-1075-azure
  • ubuntu-upgrade-linux-image-5-15-0-1078-azure
  • ubuntu-upgrade-linux-image-5-15-0-125-generic
  • ubuntu-upgrade-linux-image-5-15-0-125-generic-64k
  • ubuntu-upgrade-linux-image-5-15-0-125-generic-lpae
  • ubuntu-upgrade-linux-image-5-15-0-125-lowlatency
  • ubuntu-upgrade-linux-image-5-15-0-125-lowlatency-64k
  • ubuntu-upgrade-linux-image-6-8-0-1010-gke
  • ubuntu-upgrade-linux-image-6-8-0-1011-raspi
  • ubuntu-upgrade-linux-image-6-8-0-1012-ibm
  • ubuntu-upgrade-linux-image-6-8-0-1012-oem
  • ubuntu-upgrade-linux-image-6-8-0-1012-oracle
  • ubuntu-upgrade-linux-image-6-8-0-1012-oracle-64k
  • ubuntu-upgrade-linux-image-6-8-0-1013-nvidia
  • ubuntu-upgrade-linux-image-6-8-0-1013-nvidia-64k
  • ubuntu-upgrade-linux-image-6-8-0-1013-nvidia-lowlatency
  • ubuntu-upgrade-linux-image-6-8-0-1013-nvidia-lowlatency-64k
  • ubuntu-upgrade-linux-image-6-8-0-1014-azure
  • ubuntu-upgrade-linux-image-6-8-0-1014-azure-fde
  • ubuntu-upgrade-linux-image-6-8-0-1014-gcp
  • ubuntu-upgrade-linux-image-6-8-0-1015-aws
  • ubuntu-upgrade-linux-image-6-8-0-44-generic
  • ubuntu-upgrade-linux-image-6-8-0-44-generic-64k
  • ubuntu-upgrade-linux-image-6-8-0-44-lowlatency
  • ubuntu-upgrade-linux-image-6-8-0-44-lowlatency-64k
  • ubuntu-upgrade-linux-image-6-8-0-45-generic
  • ubuntu-upgrade-linux-image-6-8-0-45-generic-64k
  • ubuntu-upgrade-linux-image-aws
  • ubuntu-upgrade-linux-image-aws-lts-22-04
  • ubuntu-upgrade-linux-image-azure
  • ubuntu-upgrade-linux-image-azure-cvm
  • ubuntu-upgrade-linux-image-azure-fde
  • ubuntu-upgrade-linux-image-azure-lts-22-04
  • ubuntu-upgrade-linux-image-gcp
  • ubuntu-upgrade-linux-image-gcp-lts-22-04
  • ubuntu-upgrade-linux-image-generic
  • ubuntu-upgrade-linux-image-generic-64k
  • ubuntu-upgrade-linux-image-generic-64k-hwe-20-04
  • ubuntu-upgrade-linux-image-generic-64k-hwe-22-04
  • ubuntu-upgrade-linux-image-generic-64k-hwe-24-04
  • ubuntu-upgrade-linux-image-generic-hwe-20-04
  • ubuntu-upgrade-linux-image-generic-hwe-22-04
  • ubuntu-upgrade-linux-image-generic-hwe-24-04
  • ubuntu-upgrade-linux-image-generic-lpae
  • ubuntu-upgrade-linux-image-generic-lpae-hwe-20-04
  • ubuntu-upgrade-linux-image-gke
  • ubuntu-upgrade-linux-image-gke-5-15
  • ubuntu-upgrade-linux-image-gkeop
  • ubuntu-upgrade-linux-image-gkeop-5-15
  • ubuntu-upgrade-linux-image-ibm
  • ubuntu-upgrade-linux-image-ibm-classic
  • ubuntu-upgrade-linux-image-ibm-lts-24-04
  • ubuntu-upgrade-linux-image-intel
  • ubuntu-upgrade-linux-image-intel-iotg
  • ubuntu-upgrade-linux-image-kvm
  • ubuntu-upgrade-linux-image-lowlatency
  • ubuntu-upgrade-linux-image-lowlatency-64k
  • ubuntu-upgrade-linux-image-lowlatency-64k-hwe-20-04
  • ubuntu-upgrade-linux-image-lowlatency-64k-hwe-22-04
  • ubuntu-upgrade-linux-image-lowlatency-hwe-20-04
  • ubuntu-upgrade-linux-image-lowlatency-hwe-22-04
  • ubuntu-upgrade-linux-image-nvidia
  • ubuntu-upgrade-linux-image-nvidia-6-8
  • ubuntu-upgrade-linux-image-nvidia-64k
  • ubuntu-upgrade-linux-image-nvidia-64k-6-8
  • ubuntu-upgrade-linux-image-nvidia-lowlatency
  • ubuntu-upgrade-linux-image-nvidia-lowlatency-64k
  • ubuntu-upgrade-linux-image-oem-20-04
  • ubuntu-upgrade-linux-image-oem-20-04b
  • ubuntu-upgrade-linux-image-oem-20-04c
  • ubuntu-upgrade-linux-image-oem-20-04d
  • ubuntu-upgrade-linux-image-oem-22-04
  • ubuntu-upgrade-linux-image-oem-22-04a
  • ubuntu-upgrade-linux-image-oem-22-04b
  • ubuntu-upgrade-linux-image-oem-22-04c
  • ubuntu-upgrade-linux-image-oem-22-04d
  • ubuntu-upgrade-linux-image-oracle
  • ubuntu-upgrade-linux-image-oracle-64k
  • ubuntu-upgrade-linux-image-oracle-lts-22-04
  • ubuntu-upgrade-linux-image-raspi
  • ubuntu-upgrade-linux-image-raspi-nolpae
  • ubuntu-upgrade-linux-image-virtual
  • ubuntu-upgrade-linux-image-virtual-hwe-20-04
  • ubuntu-upgrade-linux-image-virtual-hwe-22-04
  • ubuntu-upgrade-linux-image-virtual-hwe-24-04
  • ubuntu-upgrade-linux-image-xilinx-zynqmp

References

  • https://attackerkb.com/topics/cve-2024-40915
  • CVE - 2024-40915
  • USN-6999-1
  • USN-6999-2
  • USN-7004-1
  • USN-7005-1
  • USN-7005-2
  • USN-7008-1
  • USN-7029-1
  • USN-7100-1
  • USN-7100-2
  • USN-7123-1
  • USN-7144-1
  • USN-7194-1
View more
  • 查看数 701
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…