{"id":14885,"date":"2026-09-04T19:02:16","date_gmt":"2026-09-04T11:02:16","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-63808"},"modified":"2026-09-04T19:02:16","modified_gmt":"2026-09-04T11:02:16","slug":"cve-2026-63808","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-63808","title":{"rendered":"CVE-2026-63808 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nexfat: fix potential"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>exfat: fix potential use-after-free in exfat_find_dir_entry()<\/p>\n<p>In exfat_find_dir_entry(), the buffer_head obtained from<br \/>\nexfat_get_dentry() is released with brelse(bh) before the fall-through<br \/>\nTYPE_EXTEND branch reads the directory entry through ep (which points<br \/>\ninto bh-&gt;b_data):<\/p>\n<p>\tbrelse(bh);<br \/>\n\tif (entry_type == TYPE_EXTEND) {<br \/>\n\t\t&#8230;<br \/>\n\t\tlen = exfat_extract_uni_name(ep, entry_uniname);<br \/>\n\t\t&#8230;<br \/>\n\t}<\/p>\n<p>After brelse() drops our reference, nothing guarantees that the<br \/>\nunderlying page backing bh-&gt;b_data remains valid for the subsequent<br \/>\nexfat_extract_uni_name() read. This is the same pattern fixed in<br \/>\ncommit fc961522ddbd (&#8220;exfat: Fix potential use after free in<br \/>\nexfat_load_upcase_table()&#8221;).<\/p>\n<p>Move brelse(bh) so it runs after ep is no longer dereferenced on<br \/>\neach branch.<\/p>\n<p>Confirmed on QEMU x86_64 with CONFIG_KASAN=y + CONFIG_DEBUG_PAGEALLOC=y<br \/>\n+ CONFIG_PAGE_POISONING=y on linux-next, using a crafted exFAT image<br \/>\n(long filename with same-hash collisions forcing the TYPE_EXTEND path).<br \/>\nWith a debug-only invalidate_bdev() inserted between brelse(bh) and<br \/>\nthe ep read to make the stale-deref window deterministic, the<br \/>\nunpatched kernel faults:<\/p>\n<p>  BUG: KASAN: use-after-free in exfat_find_dir_entry+0x133b\/0x15a0<br \/>\n  BUG: unable to handle page fault for address: ffff88801a5fa0c2<br \/>\n  Oops: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI<br \/>\n  RIP: 0010:exfat_find_dir_entry+0x1188\/0x15a0<\/p>\n<p>With this patch applied, the same instrumented harness completes<br \/>\ncleanly under the same sanitizer stack. I have not reproduced a<br \/>\ncrash on an uninstrumented kernel under ordinary reclaim; the<br \/>\ninstrumented A\/B establishes the lifetime violation and that the<br \/>\npatch closes it, not an unaided triggerability claim.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>exfat: fix potential use-after-free in exfat_find_dir_entry()<\/p>\n<p>In exfat_find_dir_entry(), the buffer_head obtained from<br \/>\nexfat_get_d<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-14885","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/14885","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=14885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}