In the Linux kernel, the following vulnerability has been resolved:
loop: loopsetstatusfrominfo() check before assignment
In loopsetstatusfrominfo(), lo->looffset and lo->losizelimit should be checked before reassignment, because if an overflow error occurs, the original correct value will be changed to the wrong value, and it will not be changed back.
More, the original patch did not solve the problem, the value was set and ioctl returned an error, but the subsequent io used the value in the loop driver, which still caused an alarm:
loophandlecmd doreqfilebacked lofft pos = ((lofft) blkrqpos(rq) << 9) + lo->looffset; lorwaio cmd->iocb.kipos = pos
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53820.json"
}