| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-42286: scsi: qla2xxx: validate nvme_local_port correctly |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| scsi: qla2xxx: validate nvme_local_port correctly |
| |
| The driver load failed with error message, |
| |
| qla2xxx [0000:04:00.0]-ffff:0: register_localport failed: ret=ffffffef |
| |
| and with a kernel crash, |
| |
| BUG: unable to handle kernel NULL pointer dereference at 0000000000000070 |
| Workqueue: events_unbound qla_register_fcport_fn [qla2xxx] |
| RIP: 0010:nvme_fc_register_remoteport+0x16/0x430 [nvme_fc] |
| RSP: 0018:ffffaaa040eb3d98 EFLAGS: 00010282 |
| RAX: 0000000000000000 RBX: ffff9dfb46b78c00 RCX: 0000000000000000 |
| RDX: ffff9dfb46b78da8 RSI: ffffaaa040eb3e08 RDI: 0000000000000000 |
| RBP: ffff9dfb612a0a58 R08: ffffffffaf1d6270 R09: 3a34303a30303030 |
| R10: 34303a303030305b R11: 2078787832616c71 R12: ffff9dfb46b78dd4 |
| R13: ffff9dfb46b78c24 R14: ffff9dfb41525300 R15: ffff9dfb46b78da8 |
| FS: 0000000000000000(0000) GS:ffff9dfc67c00000(0000) knlGS:0000000000000000 |
| CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 |
| CR2: 0000000000000070 CR3: 000000018da10004 CR4: 00000000000206f0 |
| Call Trace: |
| qla_nvme_register_remote+0xeb/0x1f0 [qla2xxx] |
| ? qla2x00_dfs_create_rport+0x231/0x270 [qla2xxx] |
| qla2x00_update_fcport+0x2a1/0x3c0 [qla2xxx] |
| qla_register_fcport_fn+0x54/0xc0 [qla2xxx] |
| |
| Exit the qla_nvme_register_remote() function when qla_nvme_register_hba() |
| fails and correctly validate nvme_local_port. |
| |
| The Linux kernel CVE team has assigned CVE-2024-42286 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Fixed in 4.19.320 with commit 549aac9655320c9b245a24271b204668c5d40430 |
| Fixed in 5.4.282 with commit e1f010844443c389bc552884ac5cfa47de34d54c |
| Fixed in 5.10.224 with commit a3ab508a4853a9f5ae25a7816a4889f09938f63c |
| Fixed in 5.15.165 with commit cde43031df533751b4ead37d173922feee2f550f |
| Fixed in 6.1.103 with commit 7cec2c3bfe84539c415f5e16f989228eba1d2f1e |
| Fixed in 6.6.44 with commit f6be298cc1042f24d521197af29c7c4eb95af4d5 |
| Fixed in 6.10.3 with commit 3eac973eb5cb2b874b3918f924798afc5affd46b |
| Fixed in 6.11 with commit eb1d4ce2609584eeb7694866f34d4b213caa3af9 |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-42286 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| drivers/scsi/qla2xxx/qla_nvme.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/549aac9655320c9b245a24271b204668c5d40430 |
| https://git.kernel.org/stable/c/e1f010844443c389bc552884ac5cfa47de34d54c |
| https://git.kernel.org/stable/c/a3ab508a4853a9f5ae25a7816a4889f09938f63c |
| https://git.kernel.org/stable/c/cde43031df533751b4ead37d173922feee2f550f |
| https://git.kernel.org/stable/c/7cec2c3bfe84539c415f5e16f989228eba1d2f1e |
| https://git.kernel.org/stable/c/f6be298cc1042f24d521197af29c7c4eb95af4d5 |
| https://git.kernel.org/stable/c/3eac973eb5cb2b874b3918f924798afc5affd46b |
| https://git.kernel.org/stable/c/eb1d4ce2609584eeb7694866f34d4b213caa3af9 |