CVE-2025-68741
NoneCVSS
—
EPSS
0.4%
Published
Dec 24, 2025
CISA due date
—
Cloudanix analysis
A Linux kernel storage driver bug can corrupt memory and cause systems to crash or behave unpredictably under certain conditions.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Other
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Memory corruption occurs when kfree() is called on a pre-allocated purex item from a per-adapter pool instead of the proper qla24xx_free_purex_item() in the qla2xxx_process_purls_iocb() error path.
Why it matters to the business
Linux systems with QLogic Fibre Channel adapters risk crashes, instability, or data corruption during storage operations; widespread kernel use and presence in container images amplify operational disruption potential.
How an attack unfolds
An attacker triggers the error handling path in qla2xxx_process_purls_iocb() after a small allocation returns a pooled item via qla24xx_alloc_purex_item(), causing incorrect kfree() and subsequent memory corruption.
How to fix it
Update the Linux kernel to commit 4bccd506a1f1ab01d1f45b2a3effff6bedc73cf9 or later; update affected GitLab Chainguard images to 17.10.0-r2 or newer.
How to confirm the fix worked
Confirm presence of qla24xx_free_purex_item() call in qla2xxx_process_purls_iocb(); verify running kernel contains the fix commit or updated package version.
Typical attack path
- Send crafted FC/SCSI traffic to reach qla2xxx_process_purls_iocb()
- Force allocation from the pre-allocated purex pool
- Induce error condition that executes the buggy kfree path
How to detect it
Inspect kernel logs for oops, warnings, or crashes mentioning qla2xxx and memory free operations around purex item handling.
What your security team should do
- Apply kernel and image updates to fixed versions immediately
- Prioritize systems with QLogic adapters in storage fabrics
- Monitor vendor advisories for backported patches in distributions
The record
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix improper freeing of purex item In qla2xxx_process_purls_iocb(), an item is allocated via qla27xx_copy_multiple_pkt(), which internally calls qla24xx_alloc_purex_item(). The qla24xx_alloc_purex_item() function may return a pre-allocated item from a per-adapter pool for small allocations, instead of dynamically allocating memory with kzalloc(). An error handling path in qla2xxx_process_purls_iocb() incorrectly uses kfree() to release the item. If the item was from the pre-allocated pool, calling kfree() on it is a bug that can lead to memory corruption. Fix this by using the correct deallocation function, qla24xx_free_purex_item(), which properly handles both dynamically allocated and pre-allocated items.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 6.6.0 | 6.12.63 |
| Linux | Kernel | 6.6.0 | 6.6.120 |
| 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 |
| 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