In the Linux kernel, the following vulnerability has been resolved:
scsi: ufs: core: Fix racing issue between ufshcdmcqabort() and ISR
If command timeout happens and cq complete IRQ is raised at the same time, ufshcdmcqabort clears lprb->cmd and a NULL pointer deref happens in the ISR. Error log:
ufshcdabort: Device abort task at tag 18 Unable to handle kernel NULL pointer dereference at virtual address 0000000000000108 pc : [0xffffffe27ef867ac] scsidmaunmap+0xc/0x44 lr : [0xffffffe27f1b898c] ufshcdreleasescsicmd+0x24/0x114
[
{
"id": "CVE-2023-52785-42a0ab30",
"signature_type": "Function",
"digest": {
"length": 938.0,
"function_hash": "177971930211071039354281027847641996462"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f15a7e3c054d960bbd1521110700450bbf798a1",
"target": {
"function": "ufshcd_mcq_abort",
"file": "drivers/ufs/core/ufs-mcq.c"
}
},
{
"id": "CVE-2023-52785-45163e43",
"signature_type": "Function",
"digest": {
"length": 938.0,
"function_hash": "177971930211071039354281027847641996462"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27900d7119c464b43cd9eac69c85884d17bae240",
"target": {
"function": "ufshcd_mcq_abort",
"file": "drivers/ufs/core/ufs-mcq.c"
}
},
{
"id": "CVE-2023-52785-63d53f83",
"signature_type": "Line",
"digest": {
"line_hashes": [
"86185749357050737089968291104505831651",
"82832836833653808592055746461673397412",
"150983181724971596796929643795344355968",
"12078840865448107393390289233791811958",
"132954553339645964834656906506942684306",
"243074183033036563352712676214248472872",
"79038487681436484551620530293209603199",
"201031591531654353238465155469161800572",
"132494192134760417143112826538329867019",
"256007253515799386768785282079120821763"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f84d461f33a6b27304d468d9cfb56c0cefdb4ee7",
"target": {
"file": "drivers/ufs/core/ufs-mcq.c"
}
},
{
"id": "CVE-2023-52785-6473415a",
"signature_type": "Line",
"digest": {
"line_hashes": [
"86185749357050737089968291104505831651",
"82832836833653808592055746461673397412",
"150983181724971596796929643795344355968",
"12078840865448107393390289233791811958",
"132954553339645964834656906506942684306",
"243074183033036563352712676214248472872",
"79038487681436484551620530293209603199",
"201031591531654353238465155469161800572",
"132494192134760417143112826538329867019",
"256007253515799386768785282079120821763"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8f15a7e3c054d960bbd1521110700450bbf798a1",
"target": {
"file": "drivers/ufs/core/ufs-mcq.c"
}
},
{
"id": "CVE-2023-52785-d6ce2616",
"signature_type": "Function",
"digest": {
"length": 938.0,
"function_hash": "177971930211071039354281027847641996462"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f84d461f33a6b27304d468d9cfb56c0cefdb4ee7",
"target": {
"function": "ufshcd_mcq_abort",
"file": "drivers/ufs/core/ufs-mcq.c"
}
},
{
"id": "CVE-2023-52785-fc080519",
"signature_type": "Line",
"digest": {
"line_hashes": [
"86185749357050737089968291104505831651",
"82832836833653808592055746461673397412",
"150983181724971596796929643795344355968",
"12078840865448107393390289233791811958",
"132954553339645964834656906506942684306",
"243074183033036563352712676214248472872",
"79038487681436484551620530293209603199",
"201031591531654353238465155469161800572",
"132494192134760417143112826538329867019",
"256007253515799386768785282079120821763"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@27900d7119c464b43cd9eac69c85884d17bae240",
"target": {
"file": "drivers/ufs/core/ufs-mcq.c"
}
}
]