CVE-2025-40311
NoneCVSS
—
EPSS
0.2%
Published
Dec 8, 2025
CISA due date
—
Cloudanix analysis
A driver bug in certain Linux systems can cause the whole computer to crash when special memory is used with accelerator hardware, requiring a software update to restore stability.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Kernel BUG_ON triggered in vm_insert_page() when mapping vmalloc-backed coherent memory from dma_alloc_coherent(GFP_USER) under enabled IOMMU because VM_MIXEDMAP is not set on the VMA, violating VM_PFNMAP restrictions in the habanalabs driver.
Why it matters to the business
Systems using Habanalabs accelerators may experience unexpected kernel crashes and reboots during device initialization or memory mapping operations, leading to downtime and reduced reliability for AI/ML workloads on affected Linux kernels.
How an attack unfolds
An attacker or workload triggers dma_alloc_coherent with GFP_USER when IOMMU is active, receiving a vmalloc-range address; subsequent mapping without VM_MIXEDMAP causes the kernel to hit BUG_ON and panic. No remote code execution or privilege escalation is possible; the issue is a stability flaw exposed by normal driver usage.
How to fix it
Update to a fixed kernel containing commit 7ec8ac9f73d4a9438c2186768d6de27ace37531e or later; rebuild and reboot. For Ubuntu LTS releases, install the corresponding wireshark packages listed in the fixed_versions if those are the delivery vehicle, or apply the equivalent stable kernel update.
How to confirm the fix worked
Confirm the habanalabs driver no longer panics under IOMMU with GFP_USER allocations by exercising memory mapping paths; verify presence of the VM_MIXEDMAP logic in the VMA setup code and check kernel version against the fixed commit.
Typical attack path
- Enable IOMMU on the system
- Load habanalabs driver and allocate coherent memory via dma_alloc_coherent with GFP_USER
- Map the resulting vmalloc-backed buffer into a VMA without setting VM_MIXEDMAP
- Trigger vm_insert_page which hits the VM_PFNMAP assertion and panics the kernel
How to detect it
Review kernel logs for BUG_ON messages referencing vm_insert_page or VM_PFNMAP during habanalabs initialization; look for IOMMU-related coherent allocation failures followed by immediate panics. No post-exploitation artifacts exist because the flaw only produces crashes.
What your security team should do
- Prioritize kernel updates on any hosts running habanalabs hardware within the next maintenance window
- Monitor EPSS and KEV status for any change indicating increased exploitability
- Test IOMMU-enabled configurations with Habanalabs devices before production rollout
The record
In the Linux kernel, the following vulnerability has been resolved: accel/habanalabs: support mapping cb with vmalloc-backed coherent memory When IOMMU is enabled, dma_alloc_coherent() with GFP_USER may return addresses from the vmalloc range. If such an address is mapped without VM_MIXEDMAP, vm_insert_page() will trigger a BUG_ON due to the VM_PFNMAP restriction. Fix this by checking for vmalloc addresses and setting VM_MIXEDMAP in the VMA before mapping. This ensures safe mapping and avoids kernel crashes. The memory is still driver-allocated and cannot be accessed directly by userspace.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 0 | 6.6.117 |
| Linux | Kernel | 5.8.0 | 6.6.117 |
| Mageia:9 | kernel | 0 | 6.6.120-1.mga9 |
| Mageia:9 | kernel-linus | 0 | 6.6.120-1.mga9 |
| Mageia:9 | kmod-virtualbox | 0 | 7.1.14-14.mga9 |
| Mageia:9 | kmod-xtables-addons | 0 | 3.24-88.mga9 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_19 | 0 | 1-150600.13.3.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-64kb | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-default-base | 0 | 6.4.0-150600.23.84.1.150600.12.38.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-docs | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-obs-build | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-source | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-syms | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | kernel-zfcpdump | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.84.1.150600.12.38.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.84.1.150600.12.38.1 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.84.1 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.9.1.160000.2.6 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.9.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.9.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel