{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50493","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-10-04T15:39:19.464Z","datePublished":"2025-10-04T15:43:45.895Z","dateUpdated":"2026-08-05T08:58:58.686Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:58:58.686Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qla2xxx: Fix crash when I/O abort times out\n\nWhile performing CPU hotplug, a crash with the following stack was seen:\n\nCall Trace:\n     qla24xx_process_response_queue+0x42a/0x970 [qla2xxx]\n     qla2x00_start_nvme_mq+0x3a2/0x4b0 [qla2xxx]\n     qla_nvme_post_cmd+0x166/0x240 [qla2xxx]\n     nvme_fc_start_fcp_op.part.0+0x119/0x2e0 [nvme_fc]\n     blk_mq_dispatch_rq_list+0x17b/0x610\n     __blk_mq_sched_dispatch_requests+0xb0/0x140\n     blk_mq_sched_dispatch_requests+0x30/0x60\n     __blk_mq_run_hw_queue+0x35/0x90\n     __blk_mq_delay_run_hw_queue+0x161/0x180\n     blk_execute_rq+0xbe/0x160\n     __nvme_submit_sync_cmd+0x16f/0x220 [nvme_core]\n     nvmf_connect_admin_queue+0x11a/0x170 [nvme_fabrics]\n     nvme_fc_create_association.cold+0x50/0x3dc [nvme_fc]\n     nvme_fc_connect_ctrl_work+0x19/0x30 [nvme_fc]\n     process_one_work+0x1e8/0x3c0\n\nOn abort timeout, completion was called without checking if the I/O was\nalready completed.\n\nVerify that I/O and abort request are indeed outstanding before attempting\ncompletion."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - qla2xxx is a Fibre Channel HBA driver; a peer on the same SAN fabric (malicious or compromised target) can stall I/O and abort responses so the host issues an abort and then hits qla24xx_abort_iocb_timeout. FC is a non-routable fabric, so Adjacent is the highest defensible vector.\nAC:L - The adjacent peer controls when I/O and abort complete relative to the fixed abort timer, and can complete the original command while delaying the abort IOCB so the timeout path runs after the SRB is already done. No uncontrollable race or rare config is required once that sequence is driven.\nPR:N - Fabric/link and target response timing are processed in the host driver without Linux credentials or capabilities on the victim. The attacker needs no local account on the vulnerable host.\nUI:N - No victim user action is required; with normal I/O to the malicious target, timeout and abort handling run automatically in the driver.\nS:U - Impact stays in the host kernel authority (SRB double-completion / heap UAF and crash). This is not a VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - Double-calling done() on an SRB already removed from outstanding_cmds and freed back to the SRB mempool is a use-after-free, which can be leveraged for arbitrary kernel memory disclosure.\nI:H - The same double-completion UAF of a mempool-backed SRB enables heap reuse and control-flow/integrity compromise, not merely a clean failure path.\nA:H - The reported crash and any UAF-driven oops/panic or hang make availability High; double scsi_done/kref_put paths reliably destabilize the host."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/qla2xxx/qla_init.c"],"versions":[{"version":"71c80b75ce8f08c0978ce9a9816b81b5c3ce5e12","lessThan":"5f730e489e741c28fe6a5b3308e33c094462acb0","status":"affected","versionType":"git"},{"version":"71c80b75ce8f08c0978ce9a9816b81b5c3ce5e12","lessThan":"d3871af13aa03fbbe7fbb812eaf140501229a72e","status":"affected","versionType":"git"},{"version":"71c80b75ce8f08c0978ce9a9816b81b5c3ce5e12","lessThan":"cb4dff498468b62e8c520568559b3a9007e104d7","status":"affected","versionType":"git"},{"version":"71c80b75ce8f08c0978ce9a9816b81b5c3ce5e12","lessThan":"05382ed9142cf8a8a3fb662224477eecc415778b","status":"affected","versionType":"git"},{"version":"71c80b75ce8f08c0978ce9a9816b81b5c3ce5e12","lessThan":"68ad83188d782b2ecef2e41ac245d27e0710fe8e","status":"affected","versionType":"git"},{"version":"457173c8b43ecd3ac48c8ace8d4437a50f7ad77b","status":"affected","versionType":"git"},{"version":"b7abcc7df5e131c0b4bf89cb2411c5301ee83d26","status":"affected","versionType":"git"},{"version":"5.3.17","lessThan":"5.4","status":"affected","versionType":"semver"},{"version":"5.4.4","lessThan":"5.5","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/scsi/qla2xxx/qla_init.c"],"versions":[{"version":"5.5","status":"affected"},{"version":"0","lessThan":"5.5","status":"unaffected","versionType":"semver"},{"version":"5.10.258","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.86","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.0.16","lessThanOrEqual":"6.0.*","status":"unaffected","versionType":"semver"},{"version":"6.1.2","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"5.15.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"6.0.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"6.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"6.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/5f730e489e741c28fe6a5b3308e33c094462acb0"},{"url":"https://git.kernel.org/stable/c/d3871af13aa03fbbe7fbb812eaf140501229a72e"},{"url":"https://git.kernel.org/stable/c/cb4dff498468b62e8c520568559b3a9007e104d7"},{"url":"https://git.kernel.org/stable/c/05382ed9142cf8a8a3fb662224477eecc415778b"},{"url":"https://git.kernel.org/stable/c/68ad83188d782b2ecef2e41ac245d27e0710fe8e"}],"title":"scsi: qla2xxx: Fix crash when I/O abort times out","x_generator":{"engine":"bippy-1.2.0"}}}}