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()
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47503.json"
[
{
"events": [
{
"introduced": "5.10"
},
{
"fixed": "5.10.85"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.15.8"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc3"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc4"
}
]
}
]