Description
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix FCE trace use-after-free during firmware dump qla2x00_free_fce_trace() freed and cleared ha->fce while holding only fce_mutex. The firmware-dump consumers qla27xx_fwdt_entry_t264() and qla25xx_copy_fce() read ha->fce (NULL check followed by a copy of the buffer) under hardware_lock and never take fce_mutex. A debugfs FCE disable could therefore free the DMA buffer between a dump's NULL check and its copy, resulting in a use-after-free. Unpublish ha->fce under hardware_lock, then release the lock and free the DMA buffer (dma_free_coherent() may sleep). A concurrent dump either completes its check and copy with the buffer still valid, or observes ha->fce == NULL and skips it.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3a5a789494875376d1f8063ec5ecc6beafda2ce1 to < 423487f03e325b8665d20a2a3171fe012b1a4fa9affected73d3d3c66f108bc47922490f8500842530139975 to < 7bd308cd893e8cce023d03a40a2f0adccaff0175affected57c029cab0d908942e3ed9ff9fd0361144d01944 to < edc464a4fc96e2720d166e7cc7e7a6827b086760affected217230bc8796a922d5b15a9a94ec4414b2d2b3e3 to < 6003e79148eca73d7cafb076f5be47e234d543d0affected2cf3c3fe9a11aa168e80c966494c58548b9aed5d to < ef9b89f6c92274c3670403fd06130ca25f685050affected841df27d619ee1f5ca6473e15227b39d6136562d to < 8e7a26931b6111583cfeaf49c068f26524dc3af2affected841df27d619ee1f5ca6473e15227b39d6136562d to < 41ef7edde27ac87d55ffc703da44e78aa8c2e896affected841df27d619ee1f5ca6473e15227b39d6136562d to < 53298efcbbb0f0438366d45cb7ed7e6d93dd5531affecteda89872a61b914378591f16e428dd221c5e2059b2affected5.10.235 to < 5.10.270affected5.15.179 to < 5.15.221affected6.1.129 to < 6.1.188affected6.6.78 to < 6.6.157affected6.12.14 to < 6.12.110affected6.13.3 to < 6.14affected
Linux Linux
Default version status: affected
6.14affected0 to < 6.14unaffected5.10.270 to ≤ 5.10.*unaffected5.15.221 to ≤ 5.15.*unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.51 to ≤ 6.18.*unaffected7.2.5 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/423487f03e325b8665d20a2a3171fe012b1a4fa9 ↗
- https://git.kernel.org/stable/c/7bd308cd893e8cce023d03a40a2f0adccaff0175 ↗
- https://git.kernel.org/stable/c/edc464a4fc96e2720d166e7cc7e7a6827b086760 ↗
- https://git.kernel.org/stable/c/6003e79148eca73d7cafb076f5be47e234d543d0 ↗
- https://git.kernel.org/stable/c/ef9b89f6c92274c3670403fd06130ca25f685050 ↗
- https://git.kernel.org/stable/c/8e7a26931b6111583cfeaf49c068f26524dc3af2 ↗
- https://git.kernel.org/stable/c/41ef7edde27ac87d55ffc703da44e78aa8c2e896 ↗
- https://git.kernel.org/stable/c/53298efcbbb0f0438366d45cb7ed7e6d93dd5531 ↗