{"api_version":"1","generated_at":"2026-10-02T12:25:26+00:00","cve":"CVE-2026-97951","urls":{"html":"https://cve.report/CVE-2026-97951","api":"https://cve.report/api/cve/CVE-2026-97951.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-97951","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-97951"},"summary":{"title":"scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands\n\nWhen a LUN_RESET aborts a WRITE command that is in the\nTRANSPORT_WRITE_PENDING state, the target core sets CMD_T_ABORTED and\nwaits for the frontend to finish processing.\n\nIf the initiator subsequently sends the remaining dataout PDUs,\n__iscsit_check_dataout_hdr() catches the payload, stops the dataout\ntimer if the sequence is final and finally dumps the data.  However, the\niSCSI target doesn't trigger the completion process for these aborted\ncommands. Because of this, the abort path hangs indefinitely in\ntarget_put_cmd_and_wait(), leading to a deadlocked target worker thread.\n\nFix this by explicitly calling target_complete_cmd() when the final\ndataout PDU is received for an aborted WRITE command.\ntarget_complete_cmd() detects the CMD_T_ABORTED flag and cleanly routes\nthe command into target_abort_work, allowing the abort completion to\nsuccessfully unblock.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-25 11:17:22","updated_at":"2026-09-28 06:16:38"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/f6f6351e98c77c27b51763ef52deb2efe4b46ac7","name":"https://git.kernel.org/stable/c/f6f6351e98c77c27b51763ef52deb2efe4b46ac7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/37f7f54d06c6100511979d6e9c1222b404e3f006","name":"https://git.kernel.org/stable/c/37f7f54d06c6100511979d6e9c1222b404e3f006","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/638cf7c0cf64d5bb5704c3a78b54ae6602f69a32","name":"https://git.kernel.org/stable/c/638cf7c0cf64d5bb5704c3a78b54ae6602f69a32","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d5869dae5080e976d4b03cc33eb7ceb527f242bf","name":"https://git.kernel.org/stable/c/d5869dae5080e976d4b03cc33eb7ceb527f242bf","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-97951","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97951","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2c9fa49e100f962af988f1c0529231bf14905cda 638cf7c0cf64d5bb5704c3a78b54ae6602f69a32 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2c9fa49e100f962af988f1c0529231bf14905cda f6f6351e98c77c27b51763ef52deb2efe4b46ac7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2c9fa49e100f962af988f1c0529231bf14905cda 37f7f54d06c6100511979d6e9c1222b404e3f006 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2c9fa49e100f962af988f1c0529231bf14905cda d5869dae5080e976d4b03cc33eb7ceb527f242bf git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.0","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.0 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.111 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.53 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.7 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"97951","cve":"CVE-2026-97951","epss":"0.001680000","percentile":"0.053870000","score_date":"2026-09-29","updated_at":"2026-09-30 00:11:23"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/target/iscsi/iscsi_target.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"638cf7c0cf64d5bb5704c3a78b54ae6602f69a32","status":"affected","version":"2c9fa49e100f962af988f1c0529231bf14905cda","versionType":"git"},{"lessThan":"f6f6351e98c77c27b51763ef52deb2efe4b46ac7","status":"affected","version":"2c9fa49e100f962af988f1c0529231bf14905cda","versionType":"git"},{"lessThan":"37f7f54d06c6100511979d6e9c1222b404e3f006","status":"affected","version":"2c9fa49e100f962af988f1c0529231bf14905cda","versionType":"git"},{"lessThan":"d5869dae5080e976d4b03cc33eb7ceb527f242bf","status":"affected","version":"2c9fa49e100f962af988f1c0529231bf14905cda","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/target/iscsi/iscsi_target.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.0"},{"lessThan":"5.0","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.111","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.53","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.7","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.111","versionStartIncluding":"5.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.53","versionStartIncluding":"5.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.7","versionStartIncluding":"5.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc2","versionStartIncluding":"5.0","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands\n\nWhen a LUN_RESET aborts a WRITE command that is in the\nTRANSPORT_WRITE_PENDING state, the target core sets CMD_T_ABORTED and\nwaits for the frontend to finish processing.\n\nIf the initiator subsequently sends the remaining dataout PDUs,\n__iscsit_check_dataout_hdr() catches the payload, stops the dataout\ntimer if the sequence is final and finally dumps the data.  However, the\niSCSI target doesn't trigger the completion process for these aborted\ncommands. Because of this, the abort path hangs indefinitely in\ntarget_put_cmd_and_wait(), leading to a deadlocked target worker thread.\n\nFix this by explicitly calling target_complete_cmd() when the final\ndataout PDU is received for an aborted WRITE command.\ntarget_complete_cmd() detects the CMD_T_ABORTED flag and cleanly routes\nthe command into target_abort_work, allowing the abort completion to\nsuccessfully unblock."}],"providerMetadata":{"dateUpdated":"2026-09-28T05:31:09.189Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/638cf7c0cf64d5bb5704c3a78b54ae6602f69a32"},{"url":"https://git.kernel.org/stable/c/f6f6351e98c77c27b51763ef52deb2efe4b46ac7"},{"url":"https://git.kernel.org/stable/c/37f7f54d06c6100511979d6e9c1222b404e3f006"},{"url":"https://git.kernel.org/stable/c/d5869dae5080e976d4b03cc33eb7ceb527f242bf"}],"title":"scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-97951","datePublished":"2026-09-25T10:22:59.559Z","dateReserved":"2026-09-25T10:18:58.205Z","dateUpdated":"2026-09-28T05:31:09.189Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-25 11:17:22","lastModifiedDate":"2026-09-28 06:16:38","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"97951","Ordinal":"1","Title":"scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands","CVE":"CVE-2026-97951","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"97951","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands\n\nWhen a LUN_RESET aborts a WRITE command that is in the\nTRANSPORT_WRITE_PENDING state, the target core sets CMD_T_ABORTED and\nwaits for the frontend to finish processing.\n\nIf the initiator subsequently sends the remaining dataout PDUs,\n__iscsit_check_dataout_hdr() catches the payload, stops the dataout\ntimer if the sequence is final and finally dumps the data.  However, the\niSCSI target doesn't trigger the completion process for these aborted\ncommands. Because of this, the abort path hangs indefinitely in\ntarget_put_cmd_and_wait(), leading to a deadlocked target worker thread.\n\nFix this by explicitly calling target_complete_cmd() when the final\ndataout PDU is received for an aborted WRITE command.\ntarget_complete_cmd() detects the CMD_T_ABORTED flag and cleanly routes\nthe command into target_abort_work, allowing the abort completion to\nsuccessfully unblock.","Type":"Description","Title":"scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands"}]}}}