In the Linux kernel, the following vulnerability has been resolved:
iouring: check for overflows in iopin_pages
WARNING: CPU: 0 PID: 5834 at iouring/memmap.c:144 iopinpages+0x149/0x180 iouring/memmap.c:144 CPU: 0 UID: 0 PID: 5834 Comm: syz-executor825 Not tainted 6.12.0-next-20241118-syzkaller #0 Call Trace: <TASK> _iouaddrmap+0xfb/0x2d0 iouring/memmap.c:183 ioringsmap iouring/iouring.c:2611 [inline] ioallocatescqurings+0x1c0/0x650 iouring/iouring.c:3470 iouringcreate+0x5b5/0xc00 iouring/iouring.c:3692 iouringsetup iouring/io_uring.c:3781 [inline] ... </TASK>
iopinpages()'s uaddr parameter came directly from the user and can be garbage. Don't just add size to it as it can overflow.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "57055476934432750181875100511673964183",
"length": 714.0
},
"target": {
"function": "io_pin_pages",
"file": "io_uring/memmap.c"
},
"id": "CVE-2024-53187-2fa52e57",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0c0a4eae26ac78379d0c1db053de168a8febc6c9",
"signature_type": "Function"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"168159303135054739387064898915198734341",
"32182729450771334686442242027457215377",
"120226594074314084264659929357299186660",
"13573824020529892772805146511137251259"
],
"threshold": 0.9
},
"target": {
"file": "io_uring/memmap.c"
},
"id": "CVE-2024-53187-45e7808c",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@29eac3eca72d4c2a71122050c37cd7d8f73ac4f3",
"signature_type": "Line"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "36836239186234739198645081436728918932",
"length": 646.0
},
"target": {
"function": "io_pin_pages",
"file": "io_uring/memmap.c"
},
"id": "CVE-2024-53187-5c51c9b5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aaa90844afd499c9142d0199dfda74439314c013",
"signature_type": "Function"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"168159303135054739387064898915198734341",
"32182729450771334686442242027457215377",
"120226594074314084264659929357299186660",
"13573824020529892772805146511137251259"
],
"threshold": 0.9
},
"target": {
"file": "io_uring/memmap.c"
},
"id": "CVE-2024-53187-6e92b53d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0c0a4eae26ac78379d0c1db053de168a8febc6c9",
"signature_type": "Line"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"168159303135054739387064898915198734341",
"32182729450771334686442242027457215377",
"120226594074314084264659929357299186660",
"13573824020529892772805146511137251259"
],
"threshold": 0.9
},
"target": {
"file": "io_uring/memmap.c"
},
"id": "CVE-2024-53187-7853f6c9",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aaa90844afd499c9142d0199dfda74439314c013",
"signature_type": "Line"
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "36836239186234739198645081436728918932",
"length": 646.0
},
"target": {
"function": "io_pin_pages",
"file": "io_uring/memmap.c"
},
"id": "CVE-2024-53187-ccf91f98",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@29eac3eca72d4c2a71122050c37cd7d8f73ac4f3",
"signature_type": "Function"
}
]