{"id":24535,"date":"2026-09-16T20:32:26","date_gmt":"2026-09-16T12:32:26","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89848"},"modified":"2026-09-16T20:32:26","modified_gmt":"2026-09-16T12:32:26","slug":"cve-2026-89848","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89848","title":{"rendered":"CVE-2026-89848 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qla2xxx: Quiesc"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>scsi: qla2xxx: Quiesce response IRQ before freeing request queue<\/p>\n<p>qla2xxx_delete_qpair() deletes the request queue before the response<br \/>\nqueue. qla25xx_delete_req_que() frees the request queue memory<br \/>\n(kfree(req) in qla25xx_free_req_que()), but the response-queue MSI-X is<br \/>\nonly released later, in qla25xx_free_rsp_que(). In that window the<br \/>\nresponse interrupt can still fire, qla2xxx_msix_rsp_q() queues<br \/>\nqpair-&gt;q_work, and qla_do_work() -&gt; qla24xx_process_response_queue()<br \/>\ndereferences the now-freed rsp-&gt;req (LOGINOUT\/CT\/ELS entries and the<br \/>\nstatus path), a use-after-free.<\/p>\n<p>The cancel_work_sync() added for the qpair teardown lives in the<br \/>\nresponse free path, which runs after the request queue is already freed,<br \/>\nso it does not protect rsp-&gt;req.<\/p>\n<p>Release the response-queue interrupt and flush qpair-&gt;q_work before<br \/>\ndeleting the request queue, so no late completion can reach the freed<br \/>\nrequest queue. Clearing have_irq makes the subsequent<br \/>\nqla25xx_free_rsp_que() skip its free_irq(), and the firmware<br \/>\nqueue-delete order (request then response) is preserved; the<br \/>\nrequest-delete mailbox completes on the default vector and is unaffected<br \/>\nby dropping the qpair response interrupt early.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>scsi: qla2xxx: Quiesce response IRQ before freeing request queue<\/p>\n<p>qla2xxx_delete_qpair() deletes the request queue before the respo<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-24535","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/24535","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=24535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=24535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=24535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}