{"id":17321,"date":"2026-09-05T02:30:59","date_gmt":"2026-09-04T18:30:59","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80817"},"modified":"2026-09-05T02:30:59","modified_gmt":"2026-09-04T18:30:59","slug":"cve-2026-80817","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80817","title":{"rendered":"CVE-2026-80817 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\niommu\/iommufd: Fix NU"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>iommu\/iommufd: Fix NULL pointer deref in iommufd_ioas_change_process when racing with iopt_map_file_pages<\/p>\n<p>iommufd_ioas_change_process() iterates every IOAS area while only<br \/>\nholding every IOAS iova_rwsem, so it assumes every area has a non-NULL<br \/>\npages pointer. That assumption can be false when it runs concurrently<br \/>\nwith iopt_map_file_pages().<\/p>\n<p>iopt_map_pages() executes in two phases. It first creates the area and<br \/>\ninserts it into the interval tree under iova_rwsem, with area-&gt;pages<br \/>\nstill NULL. It then drops iova_rwsem and later fills area-&gt;pages<br \/>\nunder domains_rwsem. This leaves a window between area creation and<br \/>\narea-&gt;pages fill where a concurrent iommufd_ioas_change_process()<br \/>\ncan observe the area and dereference a NULL area-&gt;pages pointer,<br \/>\nleading to a NULL pointer dereference:<\/p>\n<p>BUG: kernel NULL pointer dereference, address: 00000000000000c0<br \/>\n#PF: supervisor read access in kernel mode<br \/>\n#PF: error_code(0x0000) &#8211; not-present page<br \/>\nPGD 4b655067 P4D 4b655067 PUD 0<br \/>\nOops: Oops: 0000 [#1] SMP NOPTI<br \/>\nCPU: 0 UID: 0 PID: 11841 Comm: syz.1.628 Not tainted 7.1.0 #3 PREEMPT(full)<br \/>\nHardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04\/01\/2014<br \/>\nRIP: 0010:iommufd_ioas_change_process+0x419\/0xd50 drivers\/iommu\/iommufd\/ioas.c:538<br \/>\nCode: 48 89 c3 48 85 c0 0f 84 cc 00 00 00 e8 10 f5 cb fd 48 8d 7b 68 e8 a7 b5 eb fd 48 8b 6b 68 48 8d bd c0 00 00 00 e8 17 b2 eb fd  ad c0 00 00 00 bf 01 00 00 00 89 ee e8 85 ef cb fd 83 fd 01 74<br \/>\nRSP: 0018:ffffc90015c17d28 EFLAGS: 00010246<br \/>\nRAX: ffff8880186d5328 RBX: ffff88801d25e240 RCX: 0000000080000000<br \/>\nRDX: 00000000000002d7 RSI: ffffffff83ba9e10 RDI: 00000000000000c0<br \/>\nRBP: 0000000000000000 R08: ffffffff8e781eb8 R09: 0000000000000000<br \/>\nR10: 00000000000000c0 R11: ffffffff83ba9e29 R12: ffff88802e216008<br \/>\nR13: ffff88802e216000 R14: 0000000000000001 R15: 0000000000000000<br \/>\nFS:  00007f4aea3f66c0(0000) GS:ffff8880b1fa1000(0000) knlGS:0000000000000000<br \/>\nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br \/>\nCR2: 00000000000000c0 CR3: 000000004b75c000 CR4: 0000000000350ef0<br \/>\nCall Trace:<\/p>\n<p> iommufd_fops_ioctl+0x287\/0x400 drivers\/iommu\/iommufd\/main.c:533<br \/>\n vfs_ioctl fs\/ioctl.c:51 [inline]<br \/>\n __do_sys_ioctl fs\/ioctl.c:597 [inline]<br \/>\n __se_sys_ioctl fs\/ioctl.c:583 [inline]<br \/>\n __x64_sys_ioctl+0x120\/0x170 fs\/ioctl.c:583<br \/>\n x64_sys_call+0x1092\/0x1fb0 arch\/x86\/include\/generated\/asm\/syscalls_64.h:17<br \/>\n do_syscall_x64 arch\/x86\/entry\/syscall_64.c:63 [inline]<br \/>\n do_syscall_64+0x10a\/0x680 arch\/x86\/entry\/syscall_64.c:94<br \/>\n entry_SYSCALL_64_after_hwframe+0x77\/0x7f<br \/>\nRIP: 0033:0x7f4aec1a82bd<br \/>\nCode: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05  3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48<br \/>\nRSP: 002b:00007f4aea3f6018 EFLAGS: 00000246 ORIG_RAX: 0000000000000010<br \/>\nRAX: ffffffffffffffda RBX: 00007f4aec436090 RCX: 00007f4aec1a82bd<br \/>\nRDX: 0000200000000180 RSI: 0000000000003b92 RDI: 0000000000000003<br \/>\nRBP: 00007f4aec250295 R08: 0000000000000000 R09: 0000000000000000<br \/>\nR10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000<br \/>\nR13: 00007f4aec436128 R14: 00007f4aec436090 R15: 00007ffd04ef23e0<\/p>\n<p>Modules linked in:<br \/>\nCR2: 00000000000000c0<br \/>\n&#8212;[ end trace 0000000000000000 ]&#8212;<br \/>\nRIP: 0010:iommufd_ioas_change_process+0x419\/0xd50 drivers\/iommu\/iommufd\/ioas.c:538<br \/>\nCode: 48 89 c3 48 85 c0 0f 84 cc 00 00 00 e8 10 f5 cb fd 48 8d 7b 68 e8 a7 b5 eb fd 48 8b 6b 68 48 8d bd c0 00 00 00 e8 17 b2 eb fd  ad c0 00 00 00 bf 01 00 00 00 89 ee e8 85 ef cb fd 83 fd 01 74<br \/>\nRSP: 0018:ffffc90015c17d28 EFLAGS: 00010246<br \/>\nRAX: ffff8880186d5328 RBX: ffff88801d25e240 RCX: 0000000080000000<br \/>\nRDX: 00000000000002d7 RSI: ffffffff83ba9e10 RDI: 00000000000000c0<br \/>\nRBP: 0000000000000000 R08: ffffffff8e781eb8 R09: 0000000000000000<br \/>\nR10: 00000000000000c0 R11: ffffffff83ba9e29 R12: ffff88802e216008<br \/>\nR13: ffff88802e216000 R14: 0000000000000001 R15: 0000000000000000<br \/>\nFS:  00007f4aea3f66c0(000<br \/>\n&#8212;truncated&#8212;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>iommu\/iommufd: Fix NULL pointer deref in iommufd_ioas_change_process when racing with iopt_map_file_pages<\/p>\n<p>iommufd_ioas_change_proc<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-17321","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/17321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}