In the Linux kernel, the following vulnerability has been resolved: exfat: fix potential use-after-free in exfat_find_dir_entry() In… (CVE-2026-63808)
In the Linux kernel, the following vulnerability has been resolved: exfat: fix potential use-after-free in exfat_find_dir_entry() In exfat_find_dir_entry(), the buffer_head obtained from exfat_get_dentry() is released with brelse(bh) before the fall-through TYPE_EXTEND branch reads the directory entry through ep (which points into bh->b_data): brelse(bh); if (entry_type == TYPE_EXTEND) { ... len = exfat_extract_uni_name(ep, entry_uniname); ... } After brelse() drops our reference, nothing guarantees that the underlying page backing bh->b_data remains valid for the subsequent exfat_extract_uni_name() read. This is the same pattern fixed in commit fc961522ddbd ("exfat: Fix potential use after free in exfat_load_upcase_table()"). Move brelse(bh) so it runs after ep is no longer dereferenced on each branch. Confirmed on QEMU x86_64 with CONFIG_KASAN=y + CONFIG_DEBUG_PAGEALLOC=y + CONFIG_PAGE_POISONING=y on linux-next, using a crafted exFAT image (long filename with same-hash collisions forcing the TYPE_EXTEND path). With a debug-only invalidate_bdev() inserted between brelse(bh) and the ep read to make the stale-deref window deterministic, the unpatched kernel faults: BUG: KASAN: use-after-free in exfat_find_dir_entry+0x133b/0x15a0 BUG: unable to handle page fault for address: ffff88801a5fa0c2 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI RIP: 0010:exfat_find_dir_entry+0x1188/0x15a0 With this patch applied, the same instrumented harness completes cleanly under the same sanitizer stack. I have not reproduced a crash on an uninstrumented kernel under ordinary reclaim; the instrumented A/B establishes the lifetime violation and that the patch closes it, not an unaided triggerability claim.
AI Analysis
Technical Summary
The Linux kernel's exfat_find_dir_entry() function contained a use-after-free vulnerability where the buffer_head (bh) obtained from exfat_get_dentry() was released via brelse(bh) before the directory entry pointer (ep) was fully dereferenced in the TYPE_EXTEND branch. This could cause a stale pointer dereference since brelse() drops the reference to the underlying page backing bh->b_data, which ep points into. The vulnerability was confirmed with kernel sanitizers (KASAN, DEBUG_PAGEALLOC, PAGE_POISONING) using a crafted exFAT image that forced the vulnerable code path. The fix involved moving brelse(bh) to after all uses of ep, preventing the use-after-free. This is a memory safety fix similar to a prior fix in exfat_load_upcase_table().
Potential Impact
This vulnerability could lead to a kernel crash or memory corruption due to use-after-free in the exFAT filesystem driver. While no exploits in the wild are known, exploitation could cause denial of service or potentially escalate privileges if leveraged in a crafted exFAT image scenario. The issue affects kernel stability and security when mounting or accessing specially crafted exFAT filesystems.
Mitigation Recommendations
A fix for this vulnerability has been applied to the Linux kernel source code. Users and administrators should update their Linux kernel to a version that includes this patch to eliminate the use-after-free condition in exfat_find_dir_entry(). Patch status is confirmed by the description of the fix; no additional mitigation is required beyond applying the official kernel update.
In the Linux kernel, the following vulnerability has been resolved: exfat: fix potential use-after-free in exfat_find_dir_entry() In… (CVE-2026-63808)
Description
In the Linux kernel, the following vulnerability has been resolved: exfat: fix potential use-after-free in exfat_find_dir_entry() In exfat_find_dir_entry(), the buffer_head obtained from exfat_get_dentry() is released with brelse(bh) before the fall-through TYPE_EXTEND branch reads the directory entry through ep (which points into bh->b_data): brelse(bh); if (entry_type == TYPE_EXTEND) { ... len = exfat_extract_uni_name(ep, entry_uniname); ... } After brelse() drops our reference, nothing guarantees that the underlying page backing bh->b_data remains valid for the subsequent exfat_extract_uni_name() read. This is the same pattern fixed in commit fc961522ddbd ("exfat: Fix potential use after free in exfat_load_upcase_table()"). Move brelse(bh) so it runs after ep is no longer dereferenced on each branch. Confirmed on QEMU x86_64 with CONFIG_KASAN=y + CONFIG_DEBUG_PAGEALLOC=y + CONFIG_PAGE_POISONING=y on linux-next, using a crafted exFAT image (long filename with same-hash collisions forcing the TYPE_EXTEND path). With a debug-only invalidate_bdev() inserted between brelse(bh) and the ep read to make the stale-deref window deterministic, the unpatched kernel faults: BUG: KASAN: use-after-free in exfat_find_dir_entry+0x133b/0x15a0 BUG: unable to handle page fault for address: ffff88801a5fa0c2 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI RIP: 0010:exfat_find_dir_entry+0x1188/0x15a0 With this patch applied, the same instrumented harness completes cleanly under the same sanitizer stack. I have not reproduced a crash on an uninstrumented kernel under ordinary reclaim; the instrumented A/B establishes the lifetime violation and that the patch closes it, not an unaided triggerability claim.
CVSS v3.1
Score 9.8critical
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel's exfat_find_dir_entry() function contained a use-after-free vulnerability where the buffer_head (bh) obtained from exfat_get_dentry() was released via brelse(bh) before the directory entry pointer (ep) was fully dereferenced in the TYPE_EXTEND branch. This could cause a stale pointer dereference since brelse() drops the reference to the underlying page backing bh->b_data, which ep points into. The vulnerability was confirmed with kernel sanitizers (KASAN, DEBUG_PAGEALLOC, PAGE_POISONING) using a crafted exFAT image that forced the vulnerable code path. The fix involved moving brelse(bh) to after all uses of ep, preventing the use-after-free. This is a memory safety fix similar to a prior fix in exfat_load_upcase_table().
Potential Impact
This vulnerability could lead to a kernel crash or memory corruption due to use-after-free in the exFAT filesystem driver. While no exploits in the wild are known, exploitation could cause denial of service or potentially escalate privileges if leveraged in a crafted exFAT image scenario. The issue affects kernel stability and security when mounting or accessing specially crafted exFAT filesystems.
Mitigation Recommendations
A fix for this vulnerability has been applied to the Linux kernel source code. Users and administrators should update their Linux kernel to a version that includes this patch to eliminate the use-after-free condition in exfat_find_dir_entry(). Patch status is confirmed by the description of the fix; no additional mitigation is required beyond applying the official kernel update.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-rp7p-3v5m-f8gg
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-63808"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- 3.1
Threat ID: 6a5d27ad2a4a8d59891315c5
Added to database: 07/19/2026, 19:38:21 UTC
Last enriched: 07/19/2026, 20:19:47 UTC
Last updated: 09/01/2026, 22:52:13 UTC
Views: 70
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.