In the Linux kernel, the following vulnerability has been resolved:
x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault()
When trying to use copy_from_kernel_nofault() to read vsyscall page through a bpf program, the following oops was reported:
BUG: unable to handle page fault for address: ffffffffff600000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 3231067 P4D 3231067 PUD 3233067 PMD 3235067 PTE 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 20390 Comm: test_progs ...... 6.7.0+ #58 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) ...... RIP: 0010:copy_from_kernel_nofault+0x6f/0x110 ...... Call Trace: <TASK> ? copy_from_kernel_nofault+0x6f/0x110 bpf_probe_read_kernel+0x1d/0x50 bpf_prog_2061065e56845f08_do_probe_read+0x51/0x8d trace_call_bpf+0xc5/0x1c0 perf_call_bpf_enter.isra.0+0x69/0xb0 perf_syscall_enter+0x13e/0x200 syscall_trace_enter+0x188/0x1c0 do_syscall_64+0xb5/0xe0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 </TASK> ...... ---[ end trace 0000000000000000 ]---
The oops is triggered when:
1) A bpf program uses bpf_probe_read_kernel() to read from the vsyscall page and invokes copy_from_kernel_nofault() which in turn calls __get_user_asm().
2) Because the vsyscall page address is not readable from kernel space, a page fault exception is triggered accordingly.
3) handle_page_fault() considers the vsyscall page address as a user space address instead of a kernel space address. This results in the fix-up setup by bpf not being applied and a page_fault_oops() is invoked due to SMAP.
Considering handle_page_fault() has already considered the vsyscall page address as a userspace address, fix the problem by disallowing vsyscall page read for copy_from_kernel_nofault().
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-abi-stablelistsUpgrade kernel-rt-modulesUpgrade kernel-docUpgrade kernel-toolsUpgrade kernel-tools-libs-develUpgrade kernel-rt-kvmUpgrade kernel-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdumpUpgrade kernel-debug-modules-extraUpgrade kernel-rtUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-coreUpgrade bpftoolUpgrade kernel-rt-debug-modulesUpgrade python3-perfUpgrade kernel-rt-debug-kvmUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-tools-libsUpgrade kernel-debugUpgrade kernel-modulesUpgrade kernel-rt-debug-develUpgrade perfUpgrade kernelUpgrade kernel-zfcpdump-develUpgrade kernel-develUpgrade kernel-coreUpgrade kernel-debug-develUpgrade kernel-modules-extraUpgrade kernel-rt-develUpgrade kernel-cross-headersUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debugUpgrade kernel-rt-coreUpgrade kernel-debug-coreUpgrade kernel-headers | Jul 3, 2024 | Apr 17, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-livepatch-5.15.153-100.162Upgrade python-perfUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade bpftoolUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade perf-debuginfoUpgrade kernel-livepatch-5.10.214-202.855Upgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-toolsUpgrade perfUpgrade kernel-devel | Dec 20, 2024 | Apr 17, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade bpftool-debuginfoUpgrade python3-perf-debuginfoUpgrade bpftoolUpgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-libbpf-develUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-livepatch-6.1.84-99.169Upgrade kernel-libbpfUpgrade kernel-modules-extraUpgrade python3-perfUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-staticUpgrade kernel | Feb 17, 2025 | Apr 17, 2024 |
| Debian | — | Upgrade linux | May 8, 2024 | Apr 17, 2024 |
| Dell Powerstore Dsa2024398 | — | Upgrade Dell PowerStoreOS to the latest version | Jan 13, 2026 | Sep 17, 2024 |
| Dell Powerstore Dsa2024408 | — | Upgrade Dell PowerStoreOS to the latest version | Jan 13, 2026 | Sep 26, 2024 |
| Oracle_linux | — | Upgrade kernel | Jul 3, 2024 | Apr 17, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Jul 3, 2024 | Apr 17, 2024 |
| Rocky_linux | — | Upgrade perfUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debuginfo-common-x86_64Upgrade python3-perfUpgrade kernel-rt-modules-extraUpgrade kernel-toolsUpgrade kernel-develUpgrade kernel-rt-modulesUpgrade kernel-tools-libsUpgrade kernel-cross-headersUpgrade kernel-rt-develUpgrade kernel-rt-debugUpgrade kernel-rt-debug-coreUpgrade kernel-rt-kvmUpgrade kernel-tools-libs-develUpgrade bpftoolUpgrade kernel-rtUpgrade python3-perf-debuginfoUpgrade kernel-debug-modulesUpgrade bpftool-debuginfoUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade kernel-rt-debug-modules-extraUpgrade kernel-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade kernel-modules-extraUpgrade kernel-debug-debuginfoUpgrade kernel-rt-debug-develUpgrade kernel-debugUpgrade kernel-coreUpgrade kernel-debug-modules-extraUpgrade perf-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-debug-coreUpgrade kernel-debug-develUpgrade kernelUpgrade kernel-rt-core | Jul 16, 2024 | Apr 17, 2024 |
| Suse | — | Upgrade dtb-amlogicUpgrade dtb-lgUpgrade gfs2-kmp-64kbUpgrade kernel-debugUpgrade dtb-alteraUpgrade kernel-develUpgrade kernel-source-azureUpgrade kselftests-kmp-azureUpgrade gfs2-kmp-rtUpgrade kernel-rt_debug-develUpgrade dtb-broadcomUpgrade dtb-freescaleUpgrade dtb-amazonUpgrade dtb-qcomUpgrade kernel-azure-optionalUpgrade kernel-symsUpgrade cluster-md-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-64kb-livepatch-develUpgrade kernel-source-rtUpgrade kernel-default-extraUpgrade dtb-hisiliconUpgrade kernel-kvmsmall-vdsoUpgrade kernel-sourceUpgrade kernel-devel-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade cluster-md-kmp-azureUpgrade kernel-default-livepatchUpgrade dtb-appleUpgrade dtb-xilinxUpgrade kernel-azure-develUpgrade gfs2-kmp-azureUpgrade kernel-rt-livepatchUpgrade reiserfs-kmp-64kbUpgrade kernel-default-vdsoUpgrade kernel-default-develUpgrade dtb-exynosUpgrade ocfs2-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade dtb-caviumUpgrade kernel-macrosUpgrade kernel-docs-htmlUpgrade kernel-default-optionalUpgrade kernel-rt-optionalUpgrade kernel-rtUpgrade kernel-kvmsmall-develUpgrade ocfs2-kmp-defaultUpgrade kernel-azure-extraUpgrade kernel-64kbUpgrade kernel-azure-livepatch-develUpgrade dtb-apmUpgrade kselftests-kmp-64kbUpgrade dtb-marvellUpgrade dtb-allwinnerUpgrade kernel-64kb-develUpgrade kernel-kvmsmallUpgrade kernel-syms-azureUpgrade kernel-obs-qaUpgrade dlm-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-preemptUpgrade dlm-kmp-defaultUpgrade kernel-debug-vdsoUpgrade kernel-azure-vdsoUpgrade gfs2-kmp-defaultUpgrade dtb-socionextUpgrade dtb-mediatekUpgrade dlm-kmp-rtUpgrade kernel-default-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-64kb-extraUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug-vdsoUpgrade kernel-docsUpgrade kernel-devel-rtUpgrade ocfs2-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-rt-develUpgrade kernel-default-base-rebuildUpgrade dtb-armUpgrade dtb-nvidiaUpgrade kernel-rt_debugUpgrade kselftests-kmp-defaultUpgrade kernel-debug-develUpgrade dtb-sprdUpgrade dtb-amdUpgrade cluster-md-kmp-64kbUpgrade kernel-rt-livepatch-develUpgrade cluster-md-kmp-defaultUpgrade kernel-preempt-develUpgrade kernel-default-baseUpgrade kernel-defaultUpgrade dtb-rockchipUpgrade reiserfs-kmp-rtUpgrade kernel-azureUpgrade kernel-rt-extraUpgrade dtb-renesasUpgrade dlm-kmp-azureUpgrade kernel-obs-buildUpgrade reiserfs-kmp-azureUpgrade kernel-syms-rtUpgrade kernel-source-vanilla | May 15, 2024 | Apr 17, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-110-lowlatency-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-awsUpgrade linux-image-5.15.0-1058-intel-iotgUpgrade linux-image-5.15.0-113-generic-lpaeUpgrade linux-image-5.15.0-1056-ibmUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1057-ibmUpgrade linux-image-gkeop-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1046-gkeopUpgrade linux-image-kvmUpgrade linux-image-gkeUpgrade linux-image-5.15.0-1065-azure-fdeUpgrade linux-image-5.15.0-112-generic-lpaeUpgrade linux-image-5.15.0-1060-kvmUpgrade linux-image-5.15.0-1066-azureUpgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-intel-iotgUpgrade linux-image-raspi-nolpaeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-112-generic-64kUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1058-nvidiaUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1060-gkeUpgrade linux-image-5.15.0-1062-gcpUpgrade linux-image-genericUpgrade linux-image-5.15.0-1063-awsUpgrade linux-image-5.15.0-110-lowlatencyUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1058-nvidia-lowlatencyUpgrade linux-image-generic-lpaeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-ibmUpgrade linux-image-nvidiaUpgrade linux-image-5.15.0-113-genericUpgrade linux-image-raspiUpgrade linux-image-5.15.0-113-generic-64kUpgrade linux-image-5.15.0-1061-oracleUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1030-xilinx-zynqmpUpgrade linux-image-lowlatency-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-20.04bUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-112-genericUpgrade linux-image-intelUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-virtualUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gcpUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-generic-64kUpgrade linux-image-oem-20.04d | Jul 1, 2024 | Apr 17, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | Apr 17, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub