scsi: qla2xxx: edif: Fix NULL pointer deref in RX SA delete check
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.51, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: edif: Fix NULL pointer deref in RX SA delete check qla_chk_edif_rx_sa_delete_pending() obtains the SCSI command via GET_CMD_SP(sp) and immediately dereferences cmd->sc_data_direction. That command pointer can be NULL: the firmware may post a status completion for a command that has already been returned or aborted. The caller qla2x00_status_entry() acknowledges this on the very same status path, re-fetching GET_CMD_SP(sp) and bailing out with the "Command already returned" message when it is NULL -- but that check runs only after qla_chk_edif_rx_sa_delete_pending() has already dereferenced the pointer, so a NULL cmd crashes the kernel in interrupt context. Return early when cmd is NULL, before touching cmd->sc_data_direction.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in e479e9b148456905d12711411484b94083c8ff58; From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in 2191b0034a2f1307d421782e6eceddf8eec9e7f6; From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in de0c8ef3b900c5e971c82ef38c6f5c22c5f3d8c1; From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in 96eb8a3fc9f7fe7ba32679fcf1d2fd7d251e7a8b; From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in 94bfb61478bcb207d27f8cd24fd231421059519f; From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in 75fd6d041c4a325ae37f4683e6678d3015988bb0; From dd30706e73b70d67e88fdaca688db7a3374fd5de · fixed in c20ee380ca59c5a8646750c4849969a815924e2e
- Linux Linux
5.15
- KernelLinux
From 5.15.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5
References 7
git.kernel.org
- stable/c/e479e9b148456905d12711411484b94083c8ff58
- stable/c/2191b0034a2f1307d421782e6eceddf8eec9e7f6
- stable/c/de0c8ef3b900c5e971c82ef38c6f5c22c5f3d8c1
- stable/c/96eb8a3fc9f7fe7ba32679fcf1d2fd7d251e7a8b
- stable/c/94bfb61478bcb207d27f8cd24fd231421059519f
- stable/c/75fd6d041c4a325ae37f4683e6678d3015988bb0
- stable/c/c20ee380ca59c5a8646750c4849969a815924e2e