« Volver al listado

CVE-2022-50818

Estado: AplazadaSin puntuar—

In the Linux kernel, the following vulnerability has been resolved:

scsi: pm8001: Fix running_req for internal abort commands

Disabling the remote phy for a SATA disk causes a hang:

The issue is that the per-device running_req read in pm8001_dev_gone_notify() never goes to zero and we never make progress. This is caused by missing accounting for running_req for when an internal abort command completes.

In commit 2cbbf489778e ("scsi: pm8001: Use libsas internal abort support") we started to send internal abort commands as a proper sas_task. In this when we deliver a sas_task to HW the per-device running_req is incremented in pm8001_queue_command(). However it is never decremented for internal abort commnds, so decrement in pm8001_mpi_task_abort_resp().

Detalles técnicos trazas, registros y código del informe original
root@(none)$ more /sys/class/sas_phy/phy-0:0:8/target_port_protocols
sata
root@(none)$ echo 0 > sys/class/sas_phy/phy-0:0:8/enable
root@(none)$ [   67.855950] sas: ex 500e004aaaaaaa1f phy08 change count has changed
[   67.920585] sd 0:0:2:0: [sdc] Synchronizing SCSI cache
[   67.925780] sd 0:0:2:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=0x04 driverbyte=DRIVER_OK
[   67.935094] sd 0:0:2:0: [sdc] Stopping disk
[   67.939305] sd 0:0:2:0: [sdc] Start/Stop Unit failed: Result: hostbyte=0x04 driverbyte=DRIVER_OK
...
[  123.998998] INFO: task kworker/u192:1:642 blocked for more than 30 seconds.
[  124.005960]   Not tainted 6.0.0-rc1-205202-gf26f8f761e83 #218
[  124.012049] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  124.019872] task:kworker/u192:1  state:D stack:0 pid:  642 ppid: 2 flags:0x00000008
[  124.028223] Workqueue: 0000:04:00.0_event_q sas_port_event_worker
[  124.034319] Call trace:
[  124.036758]  __switch_to+0x128/0x278
[  124.040333]  __schedule+0x434/0xa58
[  124.043820]  schedule+0x94/0x138
[  124.047045]  schedule_timeout+0x2fc/0x368
[  124.051052]  wait_for_completion+0xdc/0x200
[  124.055234]  __flush_workqueue+0x1a8/0x708
[  124.059328]  sas_porte_broadcast_rcvd+0xa8/0xc0
[  124.063858]  sas_port_event_worker+0x60/0x98
[  124.068126]  process_one_work+0x3f8/0x660
[  124.072134]  worker_thread+0x70/0x700
[  124.075793]  kthread+0x1a4/0x1b8
[  124.079014]  ret_from_fork+0x10/0x20

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2022-50818",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2cbbf489778eb9dde51392ec5f74ae2868e4b857",
              "lessThan": "4e750e0d8e486569fcb7f4ba6f6471673ce7d8a2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2cbbf489778eb9dde51392ec5f74ae2868e4b857",
              "lessThan": "a62b9fc9775fbc8e666bb328f6e53c168054d6fe",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "2cbbf489778eb9dde51392ec5f74ae2868e4b857",
              "lessThan": "d8c22c4697c11ed28062afe3c2b377025be11a23",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/scsi/pm8001/pm8001_hwi.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.18",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.19.17",
              "versionType": "semver",
              "lessThanOrEqual": "5.19.*"
            },
            {
              "status": "unaffected",
              "version": "6.0.3",
              "versionType": "semver",
              "lessThanOrEqual": "6.0.*"
            },
            {
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/scsi/pm8001/pm8001_hwi.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-12-30T13:15:56.200",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/4e750e0d8e486569fcb7f4ba6f6471673ce7d8a2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a62b9fc9775fbc8e666bb328f6e53c168054d6fe",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d8c22c4697c11ed28062afe3c2b377025be11a23",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Deferred",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: pm8001: Fix running_req for internal abort commands\n\nDisabling the remote phy for a SATA disk causes a hang:\n\nroot@(none)$ more /sys/class/sas_phy/phy-0:0:8/target_port_protocols\nsata\nroot@(none)$ echo 0 > sys/class/sas_phy/phy-0:0:8/enable\nroot@(none)$ [   67.855950] sas: ex 500e004aaaaaaa1f phy08 change count has changed\n[   67.920585] sd 0:0:2:0: [sdc] Synchronizing SCSI cache\n[   67.925780] sd 0:0:2:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=0x04 driverbyte=DRIVER_OK\n[   67.935094] sd 0:0:2:0: [sdc] Stopping disk\n[   67.939305] sd 0:0:2:0: [sdc] Start/Stop Unit failed: Result: hostbyte=0x04 driverbyte=DRIVER_OK\n...\n[  123.998998] INFO: task kworker/u192:1:642 blocked for more than 30 seconds.\n[  124.005960]   Not tainted 6.0.0-rc1-205202-gf26f8f761e83 #218\n[  124.012049] \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n[  124.019872] task:kworker/u192:1  state:D stack:0 pid:  642 ppid: 2 flags:0x00000008\n[  124.028223] Workqueue: 0000:04:00.0_event_q sas_port_event_worker\n[  124.034319] Call trace:\n[  124.036758]  __switch_to+0x128/0x278\n[  124.040333]  __schedule+0x434/0xa58\n[  124.043820]  schedule+0x94/0x138\n[  124.047045]  schedule_timeout+0x2fc/0x368\n[  124.051052]  wait_for_completion+0xdc/0x200\n[  124.055234]  __flush_workqueue+0x1a8/0x708\n[  124.059328]  sas_porte_broadcast_rcvd+0xa8/0xc0\n[  124.063858]  sas_port_event_worker+0x60/0x98\n[  124.068126]  process_one_work+0x3f8/0x660\n[  124.072134]  worker_thread+0x70/0x700\n[  124.075793]  kthread+0x1a4/0x1b8\n[  124.079014]  ret_from_fork+0x10/0x20\n\nThe issue is that the per-device running_req read in\npm8001_dev_gone_notify() never goes to zero and we never make progress.\nThis is caused by missing accounting for running_req for when an internal\nabort command completes.\n\nIn commit 2cbbf489778e (\"scsi: pm8001: Use libsas internal abort support\")\nwe started to send internal abort commands as a proper sas_task. In this\nwhen we deliver a sas_task to HW the per-device running_req is incremented\nin pm8001_queue_command(). However it is never decremented for internal\nabort commnds, so decrement in pm8001_mpi_task_abort_resp()."
    }
  ],
  "lastModified": "2026-06-17T05:24:14.520",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}