Cloudanix VulnDB

CVE-2024-57999

High · 8.8

CVSS

8.8

EPSS

0.3%

Published

Feb 27, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A mistake in the Linux kernel used on certain IBM servers can cause those servers to crash while starting up.

Exploitation
Local Privilege
Attacker needs
None
Complexity
Theoretical
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Incorrect reservation of MMIO pages intersecting Dynamic DMA Window ranges on PowerPC pseries due to int vs unsigned long index and missing page shift on MMIO address, allowing IOMMU to map DMA buffers into reserved ranges and triggering kernel data access faults during boot.

Why it matters to the business

Affected IBM Power LPARs may fail to boot, resulting in extended downtime, delayed deployments, and the need for immediate kernel updates across fleets using pseries virtualization.

How an attack unfolds

An attacker with the ability to initiate or control boot on a vulnerable pseries LPAR can trigger the IOMMU misconfiguration during early DMA setup in drivers such as be2net, leading to an immediate oops; no remote unauthenticated path exists and the listed privilege-escalation actors target unrelated kernel issues.

How to fix it

Upgrade the Linux kernel to commit 7043d58ecd1381674f5b2c894deb6986a1a4896b or later stable releases that correctly use unsigned long indices and page-shift the MMIO range before bitmap reservation.

How to confirm the fix worked

Boot the updated kernel on pseries hardware and confirm absence of the 'Unable to handle kernel data access' oops at iommu_table_reserve_pages; verify the fixed commit is present via git log or kernel build info.

Typical attack path

  1. Gain ability to trigger or observe system boot on affected pseries hardware
  2. Allow kernel initialization to reach iommu_init_table and dma_set_mask calls
  3. Trigger page bitmap indexing error and subsequent kernel fault at iommu_table_reserve_pages

How to detect it

Inspect kernel boot and panic logs for the exact oops signature involving iommu_table_reserve_pages and the DAR address in the 0xc0080000 range; correlate with be2net or similar PCI driver initialization on pseries systems.

  • BUG: Unable to handle kernel data access on read at 0xc00800005cd40000
  • iommu_table_reserve_pages+0xac/0x100
  • Faulting instruction address: 0xc00000000005cdac
  • LPAR to OOPS while booting

What your security team should do

  • Prioritize kernel updates on all pseries LPARs within the next maintenance window
  • Test boot behavior on representative Power9/Power10 hardware before broad rollout
  • Monitor EPSS trend and re-evaluate if new exploitation techniques emerge

The record

In the Linux kernel, the following vulnerability has been resolved: powerpc/pseries/iommu: IOMMU incorrectly marks MMIO range in DDW Power Hypervisor can possibily allocate MMIO window intersecting with Dynamic DMA Window (DDW) range, which is over 32-bit addressing. These MMIO pages needs to be marked as reserved so that IOMMU doesn't map DMA buffers in this range. The current code is not marking these pages correctly which is resulting in LPAR to OOPS while booting. The stack is at below BUG: Unable to handle kernel data access on read at 0xc00800005cd40000 Faulting instruction address: 0xc00000000005cdac Oops: Kernel access of bad area, sig: 11 [#1] LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries Modules linked in: af_packet rfkill ibmveth(X) lpfc(+) nvmet_fc nvmet nvme_keyring crct10dif_vpmsum nvme_fc nvme_fabrics nvme_core be2net(+) nvme_auth rtc_generic nfsd auth_rpcgss nfs_acl lockd grace sunrpc fuse configfs ip_tables x_tables xfs libcrc32c dm_service_time ibmvfc(X) scsi_transport_fc vmx_crypto gf128mul crc32c_vpmsum dm_mirror dm_region_hash dm_log dm_multipath dm_mod sd_mod scsi_dh_emc scsi_dh_rdac scsi_dh_alua t10_pi crc64_rocksoft_generic crc64_rocksoft sg crc64 scsi_mod Supported: Yes, External CPU: 8 PID: 241 Comm: kworker/8:1 Kdump: loaded Not tainted 6.4.0-150600.23.14-default #1 SLE15-SP6 b44ee71c81261b9e4bab5e0cde1f2ed891d5359b Hardware name: IBM,9080-M9S POWER9 (raw) 0x4e2103 0xf000005 of:IBM,FW950.B0 (VH950_149) hv:phyp pSeries Workqueue: events work_for_cpu_fn NIP: c00000000005cdac LR: c00000000005e830 CTR: 0000000000000000 REGS: c00001400c9ff770 TRAP: 0300 Not tainted (6.4.0-150600.23.14-default) MSR: 800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE> CR: 24228448 XER: 00000001 CFAR: c00000000005cdd4 DAR: c00800005cd40000 DSISR: 40000000 IRQMASK: 0 GPR00: c00000000005e830 c00001400c9ffa10 c000000001987d00 c00001400c4fe800 GPR04: 0000080000000000 0000000000000001 0000000004000000 0000000000800000 GPR08: 0000000004000000 0000000000000001 c00800005cd40000 ffffffffffffffff GPR12: 0000000084228882 c00000000a4c4f00 0000000000000010 0000080000000000 GPR16: c00001400c4fe800 0000000004000000 0800000000000000 c00000006088b800 GPR20: c00001401a7be980 c00001400eff3800 c000000002a2da68 000000000000002b GPR24: c0000000026793a8 c000000002679368 000000000000002a c0000000026793c8 GPR28: 000008007effffff 0000080000000000 0000000000800000 c00001400c4fe800 NIP [c00000000005cdac] iommu_table_reserve_pages+0xac/0x100 LR [c00000000005e830] iommu_init_table+0x80/0x1e0 Call Trace: [c00001400c9ffa10] [c00000000005e810] iommu_init_table+0x60/0x1e0 (unreliable) [c00001400c9ffa90] [c00000000010356c] iommu_bypass_supported_pSeriesLP+0x9cc/0xe40 [c00001400c9ffc30] [c00000000005c300] dma_iommu_dma_supported+0xf0/0x230 [c00001400c9ffcb0] [c00000000024b0c4] dma_supported+0x44/0x90 [c00001400c9ffcd0] [c00000000024b14c] dma_set_mask+0x3c/0x80 [c00001400c9ffd00] [c0080000555b715c] be_probe+0xc4/0xb90 [be2net] [c00001400c9ffdc0] [c000000000986f3c] local_pci_probe+0x6c/0x110 [c00001400c9ffe40] [c000000000188f28] work_for_cpu_fn+0x38/0x60 [c00001400c9ffe70] [c00000000018e454] process_one_work+0x314/0x620 [c00001400c9fff10] [c00000000018f280] worker_thread+0x2b0/0x620 [c00001400c9fff90] [c00000000019bb18] kthread+0x148/0x150 [c00001400c9fffe0] [c00000000000ded8] start_kernel_thread+0x14/0x18 There are 2 issues in the code 1. The index is "int" while the address is "unsigned long". This results in negative value when setting the bitmap. 2. The DMA offset is page shifted but the MMIO range is used as-is (64-bit address). MMIO address needs to be page shifted as well.

Affected packages

Ecosystem Package Introduced Fixed
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.13-1
Linux Kernel 5.15.0 6.12.13
SUSE:Linux Enterprise High Availability Extension 15 SP4 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-64kb 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-docs 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-obs-build 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-source 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-syms 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-64kb 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-default 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-default-base 0 5.14.21-150500.55.113.1.150500.6.53.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-docs 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-obs-build 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-source 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-syms 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-64kb 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-default 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-default-base 0 5.14.21-150500.55.113.1.150500.6.53.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-docs 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-obs-build 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-source 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-syms 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_42 0 1-150400.9.3.2
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-default 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_28 0 1-150500.11.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_10 0 1-150600.1.5.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_10 0 1-150600.13.5.1
SUSE:Linux Enterprise Micro 5.3 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Micro 5.3 kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Linux Enterprise Micro 5.4 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Micro 5.4 kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Linux Enterprise Micro 5.5 kernel-default 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Micro 5.5 kernel-default-base 0 5.14.21-150500.55.113.1.150500.6.53.1
SUSE:Linux Enterprise Micro 5.5 kernel-source 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.47.2.150600.12.20.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.34.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.34.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.34.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-zfcpdump 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-64kb 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-default 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-default-base 0 5.14.21-150500.55.113.1.150500.6.53.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-docs 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-obs-build 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-source 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-syms 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-zfcpdump 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-docs 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-obs-build 0 5.14.21-150400.24.170.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-source 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-syms 0 5.14.21-150400.24.170.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-default 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-default-base 0 5.14.21-150500.55.113.1.150500.6.53.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-docs 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-obs-build 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-source 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-syms 0 5.14.21-150500.55.113.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Manager Proxy 4.3 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Manager Proxy 4.3 kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Manager Proxy 4.3 kernel-source 0 5.14.21-150400.24.170.1
SUSE:Manager Proxy 4.3 kernel-syms 0 5.14.21-150400.24.170.1
SUSE:Manager Server 4.3 kernel-default 0 5.14.21-150400.24.170.2
SUSE:Manager Server 4.3 kernel-default-base 0 5.14.21-150400.24.170.2.150400.24.86.2
SUSE:Manager Server 4.3 kernel-source 0 5.14.21-150400.24.170.1
SUSE:Manager Server 4.3 kernel-syms 0 5.14.21-150400.24.170.1
SUSE:Manager Server 4.3 kernel-zfcpdump 0 5.14.21-150400.24.170.2
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.34.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.34.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.34.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.34.1
Ubuntu:24.10 linux-aws 0 6.11.0-1014.15
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.34.2
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.47.2.150600.12.20.2
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.47.2
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.34.2
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.47.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.34.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.34.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.47.2

Related vulnerabilities