{"id":28968,"date":"2026-09-25T20:31:37","date_gmt":"2026-09-25T12:31:37","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97536"},"modified":"2026-09-25T20:31:37","modified_gmt":"2026-09-25T12:31:37","slug":"cve-2026-97536","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97536","title":{"rendered":"CVE-2026-97536 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qla2xxx: Fix us"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown<\/p>\n<p>The response queue MSI-X handler qla2xxx_msix_rsp_q() schedules<br \/>\nqla_do_work() via queue_work(ha-&gt;wq, &amp;qpair-&gt;q_work). qla_do_work()<br \/>\ndereferences the qpair (vha, rsp) and takes qpair-&gt;qp_lock.<\/p>\n<p>During teardown, qla2xxx_delete_qpair() deletes the response queue, which<br \/>\ncalls free_irq() in qla25xx_free_rsp_que(), and then frees the queue and<br \/>\nthe qpair. free_irq() waits for running hardirq handlers but does not<br \/>\ncancel work already placed on ha-&gt;wq. A still-pending q_work then runs<br \/>\nqla_do_work() against the freed qpair and response queue, causing a<br \/>\nuse-after-free. This is especially likely during full adapter teardown,<br \/>\nwhere destroy_workqueue(ha-&gt;wq) forces pending work to run after the queue<br \/>\npairs have been freed.<\/p>\n<p>Flush the work item with cancel_work_sync() in qla25xx_free_rsp_que()<br \/>\nafter free_irq() has released the interrupt (so no new work can be<br \/>\nqueued) and before the response queue and qpair memory are freed (so the<br \/>\nflushed handler still sees valid memory). Guard on rsp-&gt;qpair and ha-&gt;wq<br \/>\nto match the INIT_WORK() condition and avoid operating on an<br \/>\nuninitialized work_struct.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown<\/p>\n<p>The response queue MSI-X handler qla2xxx_msix_rsp_q() schedules<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-28968","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/28968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=28968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=28968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=28968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}