{"id":21676,"date":"2026-09-12T04:31:30","date_gmt":"2026-09-11T20:31:30","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89754"},"modified":"2026-09-12T04:31:30","modified_gmt":"2026-09-11T20:31:30","slug":"cve-2026-89754","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89754","title":{"rendered":"CVE-2026-89754 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nmm\/pagewalk: fix stal"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>mm\/pagewalk: fix stale walk-&gt;action escaping walk_pmd_range()<\/p>\n<p>If -&gt;pmd_entry() sets walk-&gt;action = ACTION_AGAIN, the pmd_none() check is<br \/>\nretried.  The PMD entry may be cleared at the point of retry.<\/p>\n<p>In this case, if walk-&gt;ops-&gt;install_pte is not specified, the code<br \/>\ncontinues to the next PMD entry in the range without resetting<br \/>\nwalk-&gt;action to ACTION_SUBTREE.<\/p>\n<p>This leaves walk-&gt;action erroneously set to ACTION_AGAIN, which is<br \/>\nincorrect.<\/p>\n<p>This was incorrect but not problematic up until commit 3b89863c3fa4<br \/>\n(&#8220;mm\/pagewalk: fix race between concurrent split and refault&#8221;) which<br \/>\nupdated walk_pud_range() to check for walk-&gt;action == ACTION_AGAIN upon<br \/>\nwalk_pmd_range()&#8217;s return, causing the PUD walk to be retried.<\/p>\n<p>In this case this results in duplicate walk callbacks being invoked,<br \/>\nwhich is erroneous and will break any caller that is not idempotent<br \/>\nwith respect to this (and waste time for those which are).  The result<br \/>\nis an out-of-bounds write, triggered by a local fuzzer:<\/p>\n<p>[    2.272695] ==================================================================<br \/>\n[    2.273471] BUG: KASAN: slab-out-of-bounds in __mincore_unmapped_range+0x14f\/0x190<br \/>\n[    2.274302] Write of size 1 at addr ffff888008d9b000 by task poc\/106<br \/>\n[    2.274966]<br \/>\n[    2.275154] CPU: 0 UID: 1000 PID: 106 Comm: poc Not tainted 7.2.0-rc6-00429-ga7c7074b58d2 #55 PREEMPT(lazy)<br \/>\n[    2.275159] Hardware 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 \/>\n[    2.275164] Call Trace:<br \/>\n[    2.275170]<br \/>\n[    2.275172]  dump_stack_lvl+0x53\/0x70<br \/>\n[    2.275200]  print_report+0xd0\/0x630<br \/>\n[    2.275210]  ? __pfx__raw_spin_lock_irqsave+0x10\/0x10<br \/>\n[    2.275219]  ? irqentry_exit+0xd2\/0x670<br \/>\n[    2.275224]  ? irqentry_exit+0xd2\/0x670<br \/>\n[    2.275226]  ? __virt_addr_valid+0xef\/0x1a0<br \/>\n[    2.275239]  ? __mincore_unmapped_range+0x14f\/0x190<br \/>\n[    2.275242]  kasan_report+0xce\/0x100<br \/>\n[    2.275245]  ? __mincore_unmapped_range+0x14f\/0x190<br \/>\n[    2.275248]  __mincore_unmapped_range+0x14f\/0x190<br \/>\n[    2.275252]  mincore_unmapped_range+0x45\/0x70<br \/>\n[    2.275254]  walk_pgd_range+0xafc\/0xfc0<br \/>\n[    2.275261]  ? __pfx_walk_pgd_range+0x10\/0x10<br \/>\n[    2.275264]  ? __update_load_avg_se+0x3d1\/0x670<br \/>\n[    2.275275]  __walk_page_range+0xc0\/0x310<br \/>\n[    2.275278]  ? __pfx_find_vma+0x10\/0x10<br \/>\n[    2.275281]  ? finish_task_switch.isra.0+0x16d\/0x4f0<br \/>\n[    2.275290]  walk_page_range_mm_unsafe+0x26f\/0x3a0<br \/>\n[    2.275293]  ? __pfx_mtree_load+0x10\/0x10<br \/>\n[    2.275298]  ? __pfx_walk_page_range_mm_unsafe+0x10\/0x10<br \/>\n[    2.275302]  ? __free_frozen_pages+0x54d\/0x7e0<br \/>\n[    2.275308]  __do_sys_mincore+0x132\/0x380<br \/>\n[    2.275311]  do_syscall_64+0xf9\/0x540<br \/>\n[    2.275316]  entry_SYSCALL_64_after_hwframe+0x77\/0x7f<br \/>\n[    2.275322] RIP: 0033:0x422ccd<br \/>\n[    2.275326] Code: b3 66 2e 0f 1f 84 00 00 00 00 00 66 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 b8 ff ff ff f7 d8 64 89 01 48<br \/>\n[    2.275329] RSP: 002b:00007fffffffec18 EFLAGS: 00000287 ORIG_RAX: 000000000000001b<br \/>\n[    2.275337] RAX: ffffffffffffffda RBX: 0000000000000066 RCX: 0000000000422ccd<br \/>\n[    2.275339] RDX: 00000000004d0940 RSI: 0000000001000000 RDI: 00007ffff4000000<br \/>\n[    2.275340] RBP: 00000000004d0940 R08: 0000000000000100 R09: 0000000000000100<br \/>\n[    2.275342] R10: 0000000000000100 R11: 0000000000000287 R12: 20c49ba5e353f7cf<br \/>\n[    2.275343] R13: 00000000004990d3 R14: 0000000000000000 R15: 0000000000000001<br \/>\n[    2.275346]<br \/>\n[    2.275347]<br \/>\n[    2.296904] The buggy address belongs to the object at ffff888008d9b000<br \/>\n[    2.296904]  which belongs to the cache sigqueue of size 80<br \/>\n[    2.298151] The buggy address is located 0 bytes inside of<br \/>\n[    2.298151]  allocated 80-byte region [ffff888008d9b000, ffff888008d9b050)<br \/>\n[    2.299408]<br \/>\n[    2.299601] The buggy address belongs to the physical page:<br \/>\n[    2.300191] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x8d9b<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>mm\/pagewalk: fix stale walk-&gt;action escaping walk_pmd_range()<\/p>\n<p>If -&gt;pmd_entry() sets walk-&gt;action = ACTION_AGAIN, the pmd_none() ch<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21676","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21676","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=21676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}