CVE-2025-68745
Critical · 9.8CVSS
9.8
EPSS
0.5%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A bug in Linux storage driver code can cause servers to crash or freeze when certain hardware resets occur.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Race condition in qla2xxx SCSI driver after chip reset allows stuck commands that are never freed and concurrent qlt_unmap_sg calls from multiple CPUs triggering BUG_ON in dma_unmap_sg_attrs or qlt_free_cmd.
Why it matters to the business
Linux servers using QLogic Fibre Channel adapters may suffer kernel crashes or storage command hangs, leading to downtime and loss of availability for storage-dependent workloads; low exploitability and no ransomware association reduce urgency but kernel updates remain necessary.
How an attack unfolds
An attacker with local access triggers a chip reset then races command abort and unmap paths across CPUs to hit the DMA direction or sg_mapped assertion, causing denial of service; no named threat actors or public exploits are known.
How to fix it
Upgrade the Linux kernel to a version containing commit 5c1fb3fd05da3d55b8cbc42d7d660b313cbdc936 which reverts the faulty changes and ensures commands are cleared after chip reset.
How to confirm the fix worked
Confirm the running kernel includes commit 5c1fb3fd05da3d55b8cbc42d7d660b313cbdc936; reproduce chip reset scenarios in a test environment and verify absence of BUG_ON assertions and stuck commands.
Typical attack path
- Obtain local shell on affected Linux host with qla2xxx driver loaded
- Force or wait for qla2xxx chip reset condition
- Induce concurrent qlt_free_cmd and qlt_unmap_sg calls from different CPUs
- Trigger kernel BUG_ON or leaked commands leading to crash or hang
How to detect it
Search kernel logs and dmesg for BUG_ON messages referencing valid_dma_direction, sg_mapped, qlt_free_cmd, or qla2xxx chip reset handling; correlate with Fibre Channel link events.
What your security team should do
- Apply the referenced kernel commit to all systems using qla2xxx adapters as soon as possible
- Monitor kernel logs for qla2xxx and dma_unmap related BUG_ON entries
- Isolate or disable affected HBAs on high-availability systems until patched
The record
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Clear cmds after chip reset Commit aefed3e5548f ("scsi: qla2xxx: target: Fix offline port handling and host reset handling") caused two problems: 1. Commands sent to FW, after chip reset got stuck and never freed as FW is not going to respond to them anymore. 2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd(). Commit 26f9ce53817a ("scsi: qla2xxx: Fix missed DMA unmap for aborted commands") attempted to fix this, but introduced another bug under different circumstances when two different CPUs were racing to call qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in dma_unmap_sg_attrs(). So revert "scsi: qla2xxx: Fix missed DMA unmap for aborted commands" and partially revert "scsi: qla2xxx: target: Fix offline port handling and host reset handling" at __qla2x00_abort_all_cmds.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 5.2.0 | 6.18.2 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.27.1.160000.2.8 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.27.1 |
| openSUSE:Tumbleweed | kernel-source | 0 | 6.18.5-1.1 |
| openSUSE:Tumbleweed | kernel-source-longterm | 0 | 6.18.16-1.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