CVE-2024-42287

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Complete command early within lock A crash was observed while performing NPIV and FW reset, BUG: kernel NULL pointer dereference, address: 000000000000001c #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 1 PREEMPT_RT SMP NOPTI RIP: 0010:dma_direct_unmap_sg+0x51/0x1e0 RSP: 0018:ffffc90026f47b88 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000021 RCX: 0000000000000002 RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8881041130d0 RBP: ffff8881041130d0 R08: 0000000000000000 R09: 0000000000000034 R10: ffffc90026f47c48 R11: 0000000000000031 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881565e4a20 R15: 0000000000000000 FS: 00007f4c69ed3d00(0000) GS:ffff889faac80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000001c CR3: 0000000288a50002 CR4: 00000000007706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? __die_body+0x1a/0x60 ? page_fault_oops+0x16f/0x4a0 ? do_user_addr_fault+0x174/0x7f0 ? exc_page_fault+0x69/0x1a0 ? asm_exc_page_fault+0x22/0x30 ? dma_direct_unmap_sg+0x51/0x1e0 ? preempt_count_sub+0x96/0xe0 qla2xxx_qpair_sp_free_dma+0x29f/0x3b0 [qla2xxx] qla2xxx_qpair_sp_compl+0x60/0x80 [qla2xxx] __qla2x00_abort_all_cmds+0xa2/0x450 [qla2xxx] The command completion was done early while aborting the commands in driver unload path but outside lock to avoid the WARN_ON condition of performing dma_free_attr within the lock. However this caused race condition while command completion via multiple paths causing system crash. Hence complete the command early in unload path but within the lock to avoid race condition.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

10 Sep 2024, 19:05

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/314efe3f87949a568f512f05df20bf47b81cf232 - () https://git.kernel.org/stable/c/314efe3f87949a568f512f05df20bf47b81cf232 - Patch
References () https://git.kernel.org/stable/c/36fdc5319c4d0ec8b8938ec4769764098a246bfb - () https://git.kernel.org/stable/c/36fdc5319c4d0ec8b8938ec4769764098a246bfb - Patch
References () https://git.kernel.org/stable/c/4475afa2646d3fec176fc4d011d3879b26cb26e3 - () https://git.kernel.org/stable/c/4475afa2646d3fec176fc4d011d3879b26cb26e3 - Patch
References () https://git.kernel.org/stable/c/57ba7563712227647f82a92547e82c96cd350553 - () https://git.kernel.org/stable/c/57ba7563712227647f82a92547e82c96cd350553 - Patch
References () https://git.kernel.org/stable/c/814f4a53cc86f7ea8b501bfb1723f24fd29ef5ee - () https://git.kernel.org/stable/c/814f4a53cc86f7ea8b501bfb1723f24fd29ef5ee - Patch
References () https://git.kernel.org/stable/c/9117337b04d789bd08fdd9854a40bec2815cd3f6 - () https://git.kernel.org/stable/c/9117337b04d789bd08fdd9854a40bec2815cd3f6 - Patch
References () https://git.kernel.org/stable/c/af46649304b0c9cede4ccfc2be2561ce8ed6a2ea - () https://git.kernel.org/stable/c/af46649304b0c9cede4ccfc2be2561ce8ed6a2ea - Patch
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 4.7
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CWE CWE-476

19 Aug 2024, 12:59

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se resolvió la siguiente vulnerabilidad: scsi: qla2xxx: comando completo temprano dentro del bloqueo Se observó un bloqueo al realizar el restablecimiento de NPIV y FW, ERROR: desreferencia del puntero NULL del kernel, dirección: 000000000000001c #PF: acceso de lectura del supervisor en el kernel modo #PF: error_code(0x0000) - página no presente PGD 0 P4D 0 Ups: 0000 1 PREEMPT_RT SMP NOPTI RIP: 0010:dma_direct_unmap_sg+0x51/0x1e0 RSP: 0018:ffffc90026f47b88 EFLAGS: 00010246 RAX: 000000000000000 RBX: 0000000000000021 RCX: 0000000000000002 RDX: 0000000000000021 RSI: 0000000000000000 RDI: ffff8881041130d0 RBP: ffff8881041130d0 R08: 00000000000000000 R09: 0000000000000034 R10: ffffc90026f47c48 R11: 0000000000000031 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881565e4a20 R15: 0000000000000000 FS: 007f4c69ed3d00(0000) GS:ffff889faac80000(0000) knlGS: 0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000001c CR3: 0000000288a50002 CR4: 00000000007706e0 DR0: 000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffe0ff0 DR7: 0000000000000400 PKRU: 5555555 4 Seguimiento de llamadas: ? __die_body+0x1a/0x60 ? page_fault_oops+0x16f/0x4a0? do_user_addr_fault+0x174/0x7f0? exc_page_fault+0x69/0x1a0? asm_exc_page_fault+0x22/0x30? dma_direct_unmap_sg+0x51/0x1e0? preempt_count_sub+0x96/0xe0 qla2xxx_qpair_sp_free_dma+0x29f/0x3b0 [qla2xxx] qla2xxx_qpair_sp_compl+0x60/0x80 [qla2xxx] __qla2x00_abort_all_cmds+0xa2/0x450 [qla2xxx] La finalización del comando se realizó antes de tiempo al cancelar los comandos en la ruta de descarga del controlador pero fuera del bloqueo para evitar el WARN_ON condición de realizar dma_free_attr dentro de la cerradura. Sin embargo, esto provocó una condición de ejecución mientras el comando se completaba a través de múltiples rutas, lo que provocó un bloqueo del sistema. Por lo tanto, complete el comando temprano en la ruta de descarga pero dentro del bloqueo para evitar la condición de ejecución.

19 Aug 2024, 05:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/57ba7563712227647f82a92547e82c96cd350553 -
  • () https://git.kernel.org/stable/c/9117337b04d789bd08fdd9854a40bec2815cd3f6 -
  • () https://git.kernel.org/stable/c/af46649304b0c9cede4ccfc2be2561ce8ed6a2ea -

17 Aug 2024, 09:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-08-17 09:15

Updated : 2024-09-10 19:05


NVD link : CVE-2024-42287

Mitre link : CVE-2024-42287

CVE.ORG link : CVE-2024-42287


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference