Cloudanix VulnDB

CVE-2025-68745

Critical · 9.8

CVSS

9.8

EPSS

0.5%

Published

Dec 24, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Obtain local shell on affected Linux host with qla2xxx driver loaded
  2. Force or wait for qla2xxx chip reset condition
  3. Induce concurrent qlt_free_cmd and qlt_unmap_sg calls from different CPUs
  4. 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