CVE-2026-64296

Source
https://cve.org/CVERecord?id=CVE-2026-64296
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64296.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-64296
Downstream
Published
2026-07-25T08:49:33.847Z
Modified
2026-07-28T04:03:03.373844888Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
exfat: bound uniname advance in exfat_find_dir_entry()
Details

In the Linux kernel, the following vulnerability has been resolved:

exfat: bound uniname advance in exfatfinddir_entry()

In exfatfinddirentry(), each TYPEEXTEND (file name) entry advances the output pointer by a fixed amount while the loop guard only tracks the accumulated name length:

if (++order == 2)
    uniname = p_uniname->name;
else
    uniname += EXFAT_FILE_NAME_LEN;
len = exfat_extract_uni_name(ep, entry_uniname);
name_len += len;
unichar = *(uniname+len);
*(uniname+len) = 0x0;

uniname grows by EXFATFILENAMELEN (15) per name entry, but namelen grows only by the actual extracted length, which is shorter when a name fragment contains an early NUL. The only guard is name_len >= MAX_NAME_LENGTH, so a crafted directory with many short name fragments lets uniname run far past the puniname->name[MAXNAMELENGTH + 3] buffer while namelen stays small, causing an out-of-bounds read and write at *(uniname+len).

The sibling extractor exfatgetuninamefromextentry() already stops on a short fragment (the lockstep len != EXFAT_FILE_NAME_LEN guard added in commit d42334578eba ("exfat: check if filename entries exceeds max filename length")); exfatfinddirentry() never got the equivalent. Track the per-entry write offset as a count and reject a fragment once the offset, or the offset plus the extracted length, would exceed MAXNAMELENGTH, before forming the output pointer.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64296.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ca06197382bde0a3bc20215595d1c9ce20c6e341
Fixed
72a2589d82eb001c94b74bcfe6f9a599bd9bef60
Fixed
fae76a94b35ee8c0e2eb6f64caca01d75c6d34e4
Fixed
cf85180b8a015029ee147694eaf4e0b3537e9432
Fixed
ce4736c1e6c4cfbf1ac409a8c328a0b69546c9a0
Fixed
727bf7783a2936ffd55c628dddfd69343e511dcf
Fixed
33c0b96d7e1672be1de0053786637ea46fb81507
Fixed
c8e041c68c0bbb73aa62371ee63947bb6949d8b2
Fixed
3a1230e7b043c62737b05a3e9275ca83a43ad20a

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64296.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.7.0
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.96
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.39
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64296.json"