Overview
About vulnerability
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.
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , TuxCare 9.6 ESU
- Affected packages:
- kernel @ 5.14.0 (+4 more)
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| AlmaLinux 10 | Released |
31 kernels
|
| AlmaLinux 8 | Released |
59 kernels
|
| AlmaLinux 9 | Released |
78 kernels
|
| AlmaLinux 9.6 ESU | Released |
3 kernels
|
| CloudLinux OS 7h | Released |
48 kernels
|
| CloudLinux OS 8 | Released |
48 kernels
|
| Debian 13 | Will Not Fix | — |
| Oracle Linux 10 | Released |
32 kernels
|
| Oracle Linux 8 | Released |
60 kernels
|
| Oracle Linux 8 UEK 7 | Released |
70 kernels
|
| Oracle Linux 9 | Released |
80 kernels
|
| Oracle Linux 9 UEK 7 | Released |
70 kernels
|
| RHEL 10 | Released |
34 kernels
|
| RHEL 8 | Released |
59 kernels
|
| RHEL 9 | Released |
80 kernels
|
| Rocky Linux 10 | Released |
24 kernels
|
| Rocky Linux 8 | Released |
50 kernels
|
| Rocky Linux 9 | Released |
64 kernels
|
| Ubuntu 24.04 | Released |
41 kernels
|
| Ubuntu 24.04 AWS | Planned | — |