CVE-2025-38569
NoneCVSS
—
EPSS
0.2%
Published
Aug 19, 2025
CISA due date
—
Cloudanix analysis
A driver bug in certain network cards can crash the entire system the moment virtual network functions are turned on, forcing restarts and interrupting service.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Calling dma_free_coherent() while holding a spin_lock_bh in be_cmd_set_mac_list leads to invalid opcode and kernel BUG at vmalloc.c during vunmap when SRIOV VFs are configured via be_vf_setup and related paths.
Why it matters to the business
Systems using affected benet network drivers experience immediate kernel crashes upon enabling SRIOV virtual functions, causing downtime, loss of network connectivity, and requiring reboots or rollbacks that disrupt operations and increase maintenance overhead.
How an attack unfolds
An attacker with local access writes to the sriov_numvfs sysfs attribute on a benet device, triggering be_pci_sriov_configure which calls be_vf_setup and be_vf_eth_addr_config; this invokes be_cmd_set_mac_list under spin_lock_bh, leading to dma_free_coherent and subsequent vunmap crash.
How to fix it
Upgrade Linux kernel to version 5.4.297 or later, or apply the referenced commit 3697e37e012bbd2bb5a5b467689811ba097b2eff; for Chainguard packages update openjdk-17-openj9 and related variants to 0.53.0-r0 or newer.
How to confirm the fix worked
Confirm kernel version is at or above the fixed release, test VF creation with sriov_numvfs without observing BUG at mm/vmalloc.c or Oops in vunmap, and verify no spin_lock held during dma_free_coherent calls in be_cmd_set_mac_list.
Typical attack path
- Obtain local unprivileged or privileged shell on affected Linux system
- Identify benet network device supporting SRIOV
- Write value greater than zero to /sys/.../sriov_numvfs
- Trigger be_cmd_set_mac_list path under lock
- Cause kernel panic via improper DMA free
How to detect it
Search kernel logs for Oops involving vunmap or invalid opcode during be_cmd_set_mac_list or be_vf_setup calls; inspect dmesg and journalctl for traces showing sriov_numvfs_store followed by __iommu_dma_free crash.
What your security team should do
- Prioritize kernel upgrades on systems using benet SRIOV within 30 days due to crash risk
- Disable SRIOV on benet devices until patched if VF creation is not required
- Monitor for related kernel stability issues in container and virtualization environments
- Review downstream package updates in distributions depending on the stable kernel tree
The record
In the Linux kernel, the following vulnerability has been resolved: benet: fix BUG when creating VFs benet crashes as soon as SRIOV VFs are created: kernel BUG at mm/vmalloc.c:3457! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 4 UID: 0 PID: 7408 Comm: test.sh Kdump: loaded Not tainted 6.16.0+ #1 PREEMPT(voluntary) [...] RIP: 0010:vunmap+0x5f/0x70 [...] Call Trace: <TASK> __iommu_dma_free+0xe8/0x1c0 be_cmd_set_mac_list+0x3fe/0x640 [be2net] be_cmd_set_mac+0xaf/0x110 [be2net] be_vf_eth_addr_config+0x19f/0x330 [be2net] be_vf_setup+0x4f7/0x990 [be2net] be_pci_sriov_configure+0x3a1/0x470 [be2net] sriov_numvfs_store+0x20b/0x380 kernfs_fop_write_iter+0x354/0x530 vfs_write+0x9b9/0xf60 ksys_write+0xf3/0x1d0 do_syscall_64+0x8c/0x3d0 be_cmd_set_mac_list() calls dma_free_coherent() under a spin_lock_bh. Fix it by freeing only after the lock has been released.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | No fix |
| Debian:14 | linux | 0 | No fix |
| Debian:14 | linux | 0 | 6.16.3-1 |
| Linux | Kernel | 0 | 5.4.297 |
| Mageia:9 | kernel | 0 | 6.6.105-1.mga9 |
| Mageia:9 | kernel-linus | 0 | 6.6.105-1.mga9 |
| Mageia:9 | kmod-virtualbox | 0 | 7.1.10-10.mga9 |
| Mageia:9 | kmod-xtables-addons | 0 | 3.24-86.mga9 |
| Mageia:9 | mageia-repos | 0 | 9-4.mga9 |
| Mageia:9 | meta-task | 0 | 9-4.mga9 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.26.1.160000.2.7 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.26.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.26.1 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux