← Back to CVE Explorer

CVE-2026-97951

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix hang for aborted WRITE_PENDING commands When a LUN_RESET aborts a WRITE command that is in the TRANSPORT_WRITE_PENDING state, the target core sets CMD_T_ABORTED and waits for the frontend to finish processing. If the initiator subsequently sends the remaining dataout PDUs, __iscsit_check_dataout_hdr() catches the payload, stops the dataout timer if the sequence is final and finally dumps the data. However, the iSCSI target doesn't trigger the completion process for these aborted commands. Because of this, the abort path hangs indefinitely in target_put_cmd_and_wait(), leading to a deadlocked target worker thread. Fix this by explicitly calling target_complete_cmd() when the final dataout PDU is received for an aborted WRITE command. target_complete_cmd() detects the CMD_T_ABORTED flag and cleanly routes the command into target_abort_work, allowing the abort completion to successfully unblock.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-25 11:17:22.673000
Last modified
2026-10-19 10:17:46.330000
View original CVE JSON
{
  "id": "CVE-2026-97951",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-25T11:17:22.673",
  "lastModified": "2026-10-19T10:17:46.330",
  "vulnStatus": "Received",
  "cveTags": [],
  "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."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/target/iscsi/iscsi_target.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "b070c8b4b237d55bdac13da3c5a994491177b312",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "19315262991dc983cc5c5c2ed24ff768abbf9339",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "f806f54ae3de780b8f4139baefc95b81c599cf9f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "9c777f8e0cb0486fdf16db8ffea32e562a31e85b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "638cf7c0cf64d5bb5704c3a78b54ae6602f69a32",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "f6f6351e98c77c27b51763ef52deb2efe4b46ac7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "37f7f54d06c6100511979d6e9c1222b404e3f006",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2c9fa49e100f962af988f1c0529231bf14905cda",
              "lessThan": "d5869dae5080e976d4b03cc33eb7ceb527f242bf",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/target/iscsi/iscsi_target.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.0",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.0",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.271",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.222",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.189",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.158",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.111",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.53",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.7",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/19315262991dc983cc5c5c2ed24ff768abbf9339",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/37f7f54d06c6100511979d6e9c1222b404e3f006",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/638cf7c0cf64d5bb5704c3a78b54ae6602f69a32",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9c777f8e0cb0486fdf16db8ffea32e562a31e85b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b070c8b4b237d55bdac13da3c5a994491177b312",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d5869dae5080e976d4b03cc33eb7ceb527f242bf",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f6f6351e98c77c27b51763ef52deb2efe4b46ac7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f806f54ae3de780b8f4139baefc95b81c599cf9f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}