Cloudanix VulnDB

CVE-2025-21724

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Feb 27, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in how the system handles certain memory calculations could let someone with local access crash the computer or take over higher privileges.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Memory Corruption
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

Shift-out-of-bounds in iova_bitmap_offset_to_index() due to signed int shift of constant 1 by pgshift (unsigned long) exceeding 31 bits, causing undefined behavior in kernel memory bitmap handling.

Why it matters to the business

Local memory corruption risk on Linux systems with large page shifts can lead to kernel instability, crashes, or privilege escalation, increasing operational downtime and requiring urgent patching across fleets.

How an attack unfolds

A local attacker invokes the vulnerable bitmap offset function with a pgshift value greater than 31, triggering the oversized shift on a 32-bit constant and resulting in undefined kernel behavior that may be leveraged for memory corruption or escalation, consistent with patterns seen in related kernel privilege escalation campaigns.

How to fix it

Update the Linux kernel to a version containing the 1UL fix for the shift operation; for listed packages apply the corresponding fixed release such as gradio 2.5.0 where applicable.

How to confirm the fix worked

Confirm kernel build includes the 1UL constant change in iova_bitmap_offset_to_index(); test with UBSAN enabled and large pgshift values; verify package versions match fixed releases.

Typical attack path

  1. Obtain local user access on affected Linux system
  2. Trigger iova_bitmap_offset_to_index() with pgshift > 31
  3. Exploit resulting undefined behavior for memory corruption
  4. Escalate privileges or cause denial of service

How to detect it

Inspect kernel logs for UBSAN shift-out-of-bounds reports referencing iova_bitmap; correlate with local process activity attempting large page shift operations; review related kernel privilege escalation artifacts from similar issues.

What your security team should do

  • Prioritize kernel updates on all Linux hosts within patch windows
  • Monitor for similar shift-related issues in kernel bitmap code
  • Apply fixed package versions such as gradio 2.5.0 where components are present
  • Review local privilege boundaries and limit untrusted code execution

The record

In the Linux kernel, the following vulnerability has been resolved: iommufd/iova_bitmap: Fix shift-out-of-bounds in iova_bitmap_offset_to_index() Resolve a UBSAN shift-out-of-bounds issue in iova_bitmap_offset_to_index() where shifting the constant "1" (of type int) by bitmap->mapped.pgshift (an unsigned long value) could result in undefined behavior. The constant "1" defaults to a 32-bit "int", and when "pgshift" exceeds 31 (e.g., pgshift = 63) the shift operation overflows, as the result cannot be represented in a 32-bit type. To resolve this, the constant is updated to "1UL", promoting it to an unsigned long type to match the operand's type.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux-6.1 0 6.1.129-1~deb11u1
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.13-1
Linux Kernel 6.1.0 6.1.129
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_9 0 1-150600.1.3.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_9 0 1-150600.13.3.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.42.2.150600.12.18.4
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.42.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.42.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.42.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.31.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.31.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.31.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.42.2
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.29.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.29.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.29.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.29.1
Ubuntu:24.10 linux-aws 0 6.11.0-1014.15
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.31.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.42.2.150600.12.18.4
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.42.2
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.31.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.42.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.31.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.29.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.42.2

Related vulnerabilities