In the Linux kernel, the following vulnerability has been resolved:
iommufd/selftest: Catch overflow of uptr and length
syzkaller hits a WARNON when trying to have a uptr close to UINTPTRMAX:
WARNING: CPU: 1 PID: 393 at drivers/iommu/iommufd/selftest.c:403 iommufdtest+0xb19/0x16f0 Modules linked in: CPU: 1 PID: 393 Comm: repro Not tainted 6.2.0-c9c3395d5e3d #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:iommufdtest+0xb19/0x16f0 Code: 94 c4 31 ff 44 89 e6 e8 a5 54 17 ff 45 84 e4 0f 85 bb 0b 00 00 41 be fb ff ff ff e8 31 53 17 ff e9 a0 f7 ff ff e8 27 53 17 ff <0f> 0b 41 be 8 RSP: 0018:ffffc90000eabdc0 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff8214c487 RDX: 0000000000000000 RSI: ffff88800f5c8000 RDI: 0000000000000002 RBP: ffffc90000eabe48 R08: 0000000000000000 R09: 0000000000000001 R10: 0000000000000001 R11: 0000000000000000 R12: 00000000cd2b0000 R13: 00000000cd2af000 R14: 0000000000000000 R15: ffffc90000eabe68 FS: 00007f94d76d5740(0000) GS:ffff88807dd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000043 CR3: 0000000006880006 CR4: 0000000000770ee0 PKRU: 55555554 Call Trace: <TASK> ? writecompdata+0x2f/0x90 iommufdfopsioctl+0x1ef/0x310 _x64sysioctl+0x10e/0x160 ? _pfxiommufdfopsioctl+0x10/0x10 dosyscall64+0x3b/0x90 entrySYSCALL64after_hwframe+0x72/0xdc
Check that the user memory range doesn't overflow.
[
{
"signature_type": "Function",
"digest": {
"function_hash": "78470196750006450296255367747759718739",
"length": 602.0
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c",
"function": "iommufd_test_md_check_refs"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@adac6508c235a092b91ed9c0110ecf140e9e9441",
"id": "CVE-2023-53327-3b7f01ec",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "15925658896360085776985113291319327428",
"length": 1061.0
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c",
"function": "iommufd_test_md_check_pa"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3fb3505636d033bbf7a0851dac63d01732c51d62",
"id": "CVE-2023-53327-56771a42",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "78470196750006450296255367747759718739",
"length": 602.0
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c",
"function": "iommufd_test_md_check_refs"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3fb3505636d033bbf7a0851dac63d01732c51d62",
"id": "CVE-2023-53327-751329a8",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "78470196750006450296255367747759718739",
"length": 602.0
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c",
"function": "iommufd_test_md_check_refs"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd8c1a4aee973e87d890a5861e106625a33b2c4e",
"id": "CVE-2023-53327-8d622687",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "15925658896360085776985113291319327428",
"length": 1061.0
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c",
"function": "iommufd_test_md_check_pa"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd8c1a4aee973e87d890a5861e106625a33b2c4e",
"id": "CVE-2023-53327-b3d8091e",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"265062139979587969467308529704985024435",
"195437058724376338872832659951506654425",
"321288505324890539852519073480371882221",
"80986984726810399975188062338563309181",
"198860318738513371980640399692993625160",
"321918725258577251369692487041347189228",
"154131650910165499040850578090560956455",
"92937805632474929283968839637911611278",
"315377747045677007763855493596621324868",
"119251469584629278726494306523673765999",
"79738751314734299468020395815770524583"
]
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@adac6508c235a092b91ed9c0110ecf140e9e9441",
"id": "CVE-2023-53327-b8167252",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "15925658896360085776985113291319327428",
"length": 1061.0
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c",
"function": "iommufd_test_md_check_pa"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@adac6508c235a092b91ed9c0110ecf140e9e9441",
"id": "CVE-2023-53327-c56cac31",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"265062139979587969467308529704985024435",
"195437058724376338872832659951506654425",
"321288505324890539852519073480371882221",
"80986984726810399975188062338563309181",
"198860318738513371980640399692993625160",
"321918725258577251369692487041347189228",
"154131650910165499040850578090560956455",
"92937805632474929283968839637911611278",
"315377747045677007763855493596621324868",
"119251469584629278726494306523673765999",
"79738751314734299468020395815770524583"
]
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fd8c1a4aee973e87d890a5861e106625a33b2c4e",
"id": "CVE-2023-53327-e7b2d4ed",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"265062139979587969467308529704985024435",
"195437058724376338872832659951506654425",
"321288505324890539852519073480371882221",
"80986984726810399975188062338563309181",
"198860318738513371980640399692993625160",
"321918725258577251369692487041347189228",
"154131650910165499040850578090560956455",
"92937805632474929283968839637911611278",
"315377747045677007763855493596621324868",
"119251469584629278726494306523673765999",
"79738751314734299468020395815770524583"
]
},
"target": {
"file": "drivers/iommu/iommufd/selftest.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3fb3505636d033bbf7a0851dac63d01732c51d62",
"id": "CVE-2023-53327-f5104897",
"deprecated": false,
"signature_version": "v1"
}
]