CVE-2025-71235

Summary

In the Linux kernel, the following vulnerability has been resolved:

scsi: qla2xxx: Delay module unload while fabric scan in progress

System crash seen during load/unload test in a loop.

[105954.384919] RBP: ffff914589838dc0 R08: 0000000000000000 R09: 0000000000000086 [105954.384920] R10: 000000000000000f R11: ffffa31240904be5 R12: ffff914605f868e0 [105954.384921] R13: ffff914605f86910 R14: 0000000000008010 R15: 00000000ddb7c000 [105954.384923] FS: 0000000000000000(0000) GS:ffff9163fec40000(0000) knlGS:0000000000000000 [105954.384925] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [105954.384926] CR2: 000055d31ce1d6a0 CR3: 0000000119f5e001 CR4: 0000000000770ee0 [105954.384928] PKRU: 55555554 [105954.384929] Call Trace: [105954.384931] <IRQ> [105954.384934] qla24xx_sp_unmap+0x1f3/0x2a0 [qla2xxx] [105954.384962] ? qla_async_scan_sp_done+0x114/0x1f0 [qla2xxx] [105954.384980] ? qla24xx_els_ct_entry+0x4de/0x760 [qla2xxx] [105954.384999] ? __wake_up_common+0x80/0x190 [105954.385004] ? qla24xx_process_response_queue+0xc2/0xaa0 [qla2xxx] [105954.385023] ? qla24xx_msix_rsp_q+0x44/0xb0 [qla2xxx] [105954.385040] ? __handle_irq_event_percpu+0x3d/0x190 [105954.385044] ? handle_irq_event+0x58/0xb0 [105954.385046] ? handle_edge_irq+0x93/0x240 [105954.385050] ? __common_interrupt+0x41/0xa0 [105954.385055] ? common_interrupt+0x3e/0xa0 [105954.385060] ? asm_common_interrupt+0x22/0x40

The root cause of this was that there was a free (dma_free_attrs) in the interrupt context. There was a device discovery/fabric scan in progress. A module unload was issued which set the UNLOADING flag. As part of the discovery, after receiving an interrupt a work queue was scheduled (which involved a work to be queued). Since the UNLOADING flag is set, the work item was not allocated and the mapped memory had to be freed. The free occurred in interrupt context leading to system crash. Delay the driver unload until the fabric scan is complete to avoid the crash.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < d8af012f92eee021c6ebb7093e65813c926c336baffected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < 891f9969a29e9767a453cef4811c8d2472ccab49affected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < 984dc1a51bf6fc3ca4e726abe790ec38952935d8affected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < 528b2f1027edfb52af0171f0f4b227fb356dde05affected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < d70f71d4c92bcb8b6a21ac62d4ea3e87721f4f32affected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < c068ebbaf52820d6bdefb9b405a1e426663c635aaffected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < 7062eb0c488f35730334daad9495d9265c574853affected
LinuxLinux783e0dc4f66ade6bbd8833b6bae778158d54c1a6 < 8890bf450e0b6b283f48ac619fca5ac2f14ddd62affected
LinuxLinux4.8affected
LinuxLinux0 < 4.8unaffected
LinuxLinux5.10.251 <= 5.10.*unaffected
LinuxLinux5.15.201 <= 5.15.*unaffected
LinuxLinux6.1.164 <= 6.1.*unaffected
LinuxLinux6.6.125 <= 6.6.*unaffected
LinuxLinux6.12.72 <= 6.12.*unaffected
LinuxLinux6.18.11 <= 6.18.*unaffected
LinuxLinux6.19.1 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References