CVE-2026-93828: exfat: fix handling of damaged volume in exfat_create_upcase_table()
In the Linux kernel, the following vulnerability has been resolved:
exfat: fix handling of damaged volume in exfatcreateupcasetable()
When the size of the upcase table is set to zero in the dentry for any reason(e.g. corrupted media or misbehaving device), an integer overflow causes the module to loop indefinitely.
If the size of the upcase table is read zero, do not attempt to load the table. Instead, fallback to loading the default upcase table. If the size of the upcase table is zero or no upcase table is found, raise exfatfserror() to mark the volume read-only.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
When the exFAT upcase table size is zero or no upcase table is found, mark the volume read-only using exfat_fs_error() instead of attempting to load the table.
Event History
Frequently Asked Questions
What must an attacker or faulty device provide to trigger the issue?
The mounted exFAT volume must contain a directory entry whose upcase-table size is zero. This can result from corrupted media or a misbehaving device.
How does the resolved behavior handle a zero-sized or missing upcase table?
It falls back to the default upcase table rather than attempting to load a zero-sized table. It also raises exfat_fs_error() and marks the volume read-only when the table size is zero or no upcase table is found.