CVE-2024-42287
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
17/08/2024
Last modified:
10/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
scsi: qla2xxx: Complete command early within lock<br />
<br />
A crash was observed while performing NPIV and FW reset,<br />
<br />
BUG: kernel NULL pointer dereference, address: 000000000000001c<br />
#PF: supervisor read access in kernel mode<br />
#PF: error_code(0x0000) - not-present page<br />
PGD 0 P4D 0<br />
Oops: 0000 1 PREEMPT_RT SMP NOPTI<br />
RIP: 0010:dma_direct_unmap_sg+0x51/0x1e0<br />
RSP: 0018:ffffc90026f47b88 EFLAGS: 00010246<br />
RAX: 0000000000000000 RBX: 0000000000000021 RCX: 0000000000000002<br />
RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8881041130d0<br />
RBP: ffff8881041130d0 R08: 0000000000000000 R09: 0000000000000034<br />
R10: ffffc90026f47c48 R11: 0000000000000031 R12: 0000000000000000<br />
R13: 0000000000000000 R14: ffff8881565e4a20 R15: 0000000000000000<br />
FS: 00007f4c69ed3d00(0000) GS:ffff889faac80000(0000) knlGS:0000000000000000<br />
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br />
CR2: 000000000000001c CR3: 0000000288a50002 CR4: 00000000007706e0<br />
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000<br />
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400<br />
PKRU: 55555554<br />
Call Trace:<br />
<br />
? __die_body+0x1a/0x60<br />
? page_fault_oops+0x16f/0x4a0<br />
? do_user_addr_fault+0x174/0x7f0<br />
? exc_page_fault+0x69/0x1a0<br />
? asm_exc_page_fault+0x22/0x30<br />
? dma_direct_unmap_sg+0x51/0x1e0<br />
? preempt_count_sub+0x96/0xe0<br />
qla2xxx_qpair_sp_free_dma+0x29f/0x3b0 [qla2xxx]<br />
qla2xxx_qpair_sp_compl+0x60/0x80 [qla2xxx]<br />
__qla2x00_abort_all_cmds+0xa2/0x450 [qla2xxx]<br />
<br />
The command completion was done early while aborting the commands in driver<br />
unload path but outside lock to avoid the WARN_ON condition of performing<br />
dma_free_attr within the lock. However this caused race condition while<br />
command completion via multiple paths causing system crash.<br />
<br />
Hence complete the command early in unload path but within the lock to<br />
avoid race condition.
Impact
Base Score 3.x
4.70
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.4.240 (including) | 5.4.282 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.177 (including) | 5.10.224 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.15.105 (including) | 5.15.165 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1.22 (including) | 6.1.103 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2.9 (including) | 6.3 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.3 (including) | 6.6.44 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/314efe3f87949a568f512f05df20bf47b81cf232
- https://git.kernel.org/stable/c/36fdc5319c4d0ec8b8938ec4769764098a246bfb
- https://git.kernel.org/stable/c/4475afa2646d3fec176fc4d011d3879b26cb26e3
- https://git.kernel.org/stable/c/57ba7563712227647f82a92547e82c96cd350553
- https://git.kernel.org/stable/c/814f4a53cc86f7ea8b501bfb1723f24fd29ef5ee
- https://git.kernel.org/stable/c/9117337b04d789bd08fdd9854a40bec2815cd3f6
- https://git.kernel.org/stable/c/af46649304b0c9cede4ccfc2be2561ce8ed6a2ea