In the Linux kernel, the following vulnerability has been resolved:
arm64: probes: Remove broken LDR (literal) uprobe support
The simulate_ldr_literal() and simulate_ldrsw_literal() functions are unsafe to use for uprobes. Both functions were originally written for use with kprobes, and access memory with plain C accesses. When uprobes was added, these were reused unmodified even though they cannot safely access user memory.
There are three key problems:
1) The plain C accesses do not have corresponding extable entries, and thus if they encounter a fault the kernel will treat these as unintentional accesses to user memory, resulting in a BUG() which will kill the kernel thread, and likely lead to further issues (e.g. lockup or panic()).
2) The plain C accesses are subject to HW PAN and SW PAN, and so when either is in use, any attempt to simulate an access to user memory will fault. Thus neither simulate_ldr_literal() nor simulate_ldrsw_literal() can do anything useful when simulating a user instruction on any system with HW PAN or SW PAN.
3) The plain C accesses are privileged, as they run in kernel context, and in practice can access a small range of kernel virtual addresses. The instructions they simulate have a range of +/-1MiB, and since the simulated instructions must itself be a user instructions in the TTBR0 address range, these can address the final 1MiB of the TTBR1 acddress range by wrapping downwards from an address in the first 1MiB of the TTBR0 address range.
In contemporary kernels the last 8MiB of TTBR1 address range is reserved, and accesses to this will always fault, meaning this is no worse than (1).
Historically, it was theoretically possible for the linear map or vmemmap to spill into the final 8MiB of the TTBR1 address range, but in practice this is extremely unlikely to occur as this would require either:
* Having enough physical memory to fill the entire linear map all the way to the final 1MiB of the TTBR1 address range.
* Getting unlucky with KASLR randomization of the linear map such that the populated region happens to overlap with the last 1MiB of the TTBR address range.
... and in either case if we were to spill into the final page there would be larger problems as the final page would alias with error pointers.
Practically speaking, (1) and (2) are the big issues. Given there have been no reports of problems since the broken code was introduced, it appears that no-one is relying on probing these instructions with uprobes.
Avoid these issues by not allowing uprobes on LDR (literal) and LDRSW (literal), limiting the use of simulate_ldr_literal() and simulate_ldrsw_literal() to kprobes. Attempts to place uprobes on LDR (literal) and LDRSW (literal) will be rejected as arm_probe_decode_insn() will return INSN_REJECTED. In future we can consider introducing working uprobes support for these instructions, but this will require more significant work.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-devel-matchedUpgrade kernel-debug-develUpgrade kernel-uki-virt-addonsUpgrade kernel-64k-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-uki-virtUpgrade kernel-debug-uki-virtUpgrade kernel-rt-modulesUpgrade kernel-modules-extraUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-devel-matchedUpgrade kernel-rtUpgrade kernel-modulesUpgrade kernel-toolsUpgrade kernel-debug-modules-extraUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-debug-modules-coreUpgrade kernel-docUpgrade libperfUpgrade kernel-modules-coreUpgrade kernel-headersUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-develUpgrade kernel-debugUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-coreUpgrade kernel-64k-debug-modules-coreUpgrade rtlaUpgrade kernel-zfcpdump-develUpgrade kernel-64k-modules-coreUpgrade kernel-64k-debug-modules-extraUpgrade kernel-rt-modules-coreUpgrade rvUpgrade kernel-rt-debug-develUpgrade kernel-64k-debugUpgrade perfUpgrade kernel-zfcpdumpUpgrade kernel-64k-develUpgrade python3-perfUpgrade kernel-rt-debug-coreUpgrade kernel-rt-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-debugUpgrade kernel-tools-libsUpgrade kernel-debug-modules-coreUpgrade kernel-rt-modules-extraUpgrade kernel-cross-headersUpgrade kernel-zfcpdump-coreUpgrade kernel-64k-modulesUpgrade kernel-rt-coreUpgrade kernel-64k-coreUpgrade kernelUpgrade kernel-tools-libs-develUpgrade kernel-64k-debug-coreUpgrade kernel-64k-debug-develUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-64kUpgrade kernel-64k-debug-modules | Dec 19, 2024 | Nov 5, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-headersUpgrade kernel-livepatch-5.15.173-118.169Upgrade kernel-debuginfoUpgrade perfUpgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-develUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.10.228-219.884Upgrade kernel-debuginfo-common-x86_64Upgrade bpftool | Mar 14, 2025 | Nov 5, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-modules-extra-commonUpgrade perfUpgrade python3-perf-debuginfoUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-toolsUpgrade kernel-livepatch-6.1.115-126.197Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpfUpgrade python3-perfUpgrade kernel-libbpf-develUpgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-modules-extraUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel | Mar 27, 2025 | Nov 5, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Nov 11, 2024 | Nov 5, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel | Feb 11, 2025 | Nov 5, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perfUpgrade bpftoolUpgrade kernel-tools | Feb 11, 2025 | Nov 5, 2024 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Dec 12, 2024 | Nov 5, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rt | Feb 10, 2025 | Nov 5, 2024 |
| Rocky_linux | — | Upgrade kernelUpgrade kernel-rt-debug-coreUpgrade kernel-rt-modules-extraUpgrade kernel-tools-libs-develUpgrade python3-perf-debuginfoUpgrade kernel-rt-develUpgrade kernel-debug-develUpgrade kernel-headersUpgrade kernel-cross-headersUpgrade bpftoolUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debugUpgrade kernel-debug-modulesUpgrade python3-perfUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-coreUpgrade kernel-tools-libsUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-kvmUpgrade kernel-rt-debug-modulesUpgrade kernel-develUpgrade kernel-debug-debuginfoUpgrade kernel-toolsUpgrade kernel-rtUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-modules-extraUpgrade kernel-rt-debug-kvmUpgrade bpftool-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-rt-debuginfoUpgrade perfUpgrade perf-debuginfoUpgrade kernel-debug-coreUpgrade kernel-tools-debuginfoUpgrade kernel-modulesUpgrade kernel-debugUpgrade kernel-core | Feb 5, 2026 | Dec 19, 2024 |
| Ubuntu | — | Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1081-azureUpgrade linux-image-6.8.0-1025-awsUpgrade linux-image-5.4.0-1086-ibmUpgrade linux-image-generic-64kUpgrade linux-image-gcp-64kUpgrade linux-image-5.4.0-208-generic-lpaeUpgrade linux-image-oem-22.04bUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1025-azureUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-oem-22.04cUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-1073-intel-iotgUpgrade linux-image-aws-lts-20.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-oem-20.04bUpgrade linux-image-6.8.1-1018-realtimeUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-azureUpgrade linux-image-oem-20.04cUpgrade linux-image-5.4.0-1138-oracleUpgrade linux-image-5.15.0-134-genericUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-6.8.0-1022-oracle-64kUpgrade linux-image-6.8.0-1024-nvidia-lowlatency-64kUpgrade linux-image-oem-22.04Upgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1081-azure-fdeUpgrade linux-image-5.4.0-1058-xilinx-zynqmpUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-6.8.0-1022-oracleUpgrade linux-image-gke-5.15Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-oem-22.04aUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-6.8.0-1008-gkeopUpgrade linux-image-nvidia-6.8Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-5.15.0-1075-gkeUpgrade linux-image-6.8.0-1025-azure-fdeUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1143-gcpUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-intelUpgrade linux-image-5.15.0-133-genericUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-6.11.0-1009-awsUpgrade linux-image-genericUpgrade linux-image-5.15.0-133-generic-lpaeUpgrade linux-image-5.15.0-133-generic-64kUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.11.0-1015-oemUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.4.0-208-genericUpgrade linux-image-raspiUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-56-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-5.15.0-1072-raspiUpgrade linux-image-azure-lts-22.04Upgrade linux-image-ibmUpgrade linux-image-5.4.0-1099-bluefieldUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-56-genericUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-lowlatencyUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1026-gcpUpgrade linux-image-5.4.0-1145-azureUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-realtimeUpgrade linux-image-5.4.0-1140-awsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1021-gkeUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-oem-osp1Upgrade linux-image-oem-20.04dUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-6.8.0-57-genericUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-oracleUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-cvmUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-awsUpgrade linux-image-bluefieldUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.8.0-56-generic-64kUpgrade linux-image-6.8.0-57-generic-64kUpgrade linux-image-raspi2Upgrade linux-image-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oem-24.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1078-awsUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-5.15.0-1070-ibmUpgrade linux-image-gkeUpgrade linux-image-azure-lts-20.04Upgrade linux-image-5.4.0-1127-kvmUpgrade linux-image-gcpUpgrade linux-image-oem-24.04bUpgrade linux-image-gkeop-5.15Upgrade linux-image-oemUpgrade linux-image-6.8.0-1024-nvidiaUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1024-nvidia-lowlatencyUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-5.4.0-208-lowlatencyUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-5.15.0-1072-nvidiaUpgrade linux-image-5.15.0-134-generic-lpaeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-1075-oracleUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-5.15.0-1060-gkeopUpgrade linux-image-6.8.0-1022-ibmUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1026-gcp-64kUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-56-lowlatency-64kUpgrade linux-image-5.15.0-134-generic-64kUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-133-lowlatency-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-1072-nvidia-lowlatencyUpgrade linux-image-6.8.0-1024-nvidia-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1077-gcpUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-kvmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1024-oemUpgrade linux-image-5.15.0-133-lowlatencyUpgrade linux-image-virtual | Feb 20, 2025 | Nov 5, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 10, 2025 | Nov 5, 2024 |
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