CVE-2021-47503

scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc()

Medium · published May 24, 2024

CVSS v3.1
6.2
EPSS
0%
Percentile
15.2
In the wild
Unconfirmed
What it is

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

scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc()

Calling scsi_remove_host() before scsi_add_host() results in a crash:

BUG: kernel NULL pointer dereference, address: 0000000000000108

RIP: 0010:device_del+0x63/0x440

Call Trace:

device_unregister+0x17/0x60

scsi_remove_host+0xee/0x2a0

pm8001_pci_probe+0x6ef/0x1b90 [pm80xx]

local_pci_probe+0x3f/0x90

We cannot call scsi_remove_host() in pm8001_alloc() because scsi_add_host()

has not been called yet at that point in time.

Function call tree:

pm8001_pci_probe()

|

`- pm8001_pci_alloc()

| |

| `- pm8001_alloc()

| |

| `- scsi_remove_host()

|

`- scsi_add_host()

The record
Technical detail
CVSS v3.1
6.2 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00248 · 15.2th percentile
Published
2024-05-24T15:01Z
EPSS history
Timeline
  • 24 MAY 15:01Z
    scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc()
    cvelistv5