CVE-2026-64322 Details
Description
In the Linux kernel, the following vulnerability has been resolved: udf: validate sparing table length as an entry count, not a byte count udf_load_sparable_map() accepts a sparing table when sizeof(*st) + le16_to_cpu(st->reallocationTableLen) > sb->s_blocksize is false, i.e. it treats reallocationTableLen as a number of BYTES that must fit in the block. But the table is walked as an array of 8-byte sparingEntry elements: for (i = 0; i < le16_to_cpu(st->reallocationTableLen); i++) { struct sparingEntry *entry = &st->mapEntry[i]; ... entry->origLocation ... } in udf_get_pblock_spar15() and udf_relocate_blocks(). A reallocationTableLen of N therefore passes the check whenever sizeof(*st) + N <= blocksize, yet the consumers index sizeof(*st) + N * sizeof(struct sparingEntry) bytes -- up to ~8x the block. On a crafted UDF image this is an out-of-bounds read in udf_get_pblock_spar15(); udf_relocate_blocks() additionally feeds the same length to udf_update_tag(), whose crc_itu_t() reads far past the block, and its memmove() through st->mapEntry[] is an out-of-bounds write. Validate reallocationTableLen as the entry count it is, with struct_size().
A vulnerability in the Linux kernel's handling of UDF (Universal Disk Format) sparing tables has been identified. The issue arises in the 'udf_load_sparable_map()' function, which incorrectly validates the length of the reallocation table. It treats the length as a byte count that must fit within a block, rather than as an entry count. This misinterpretation can lead to an out-of-bounds read and write. Specifically, the function can be tricked into accepting a reallocation table that exceeds the block size, causing the kernel to read and write data outside the intended boundaries. This vulnerability has been addressed by modifying the validation to correctly interpret the reallocation table length as an entry count, using the appropriate structure size calculation.
Users can upgrade to the patched version of the Linux kernel available in the Linux Kernel Archive.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/04f4599a9efb90992d072a814960edf0cd62805d | kernel.org | Patch |
| https://git.kernel.org/stable/c/0a9b79a951cfd70a9d31ca01ae2d08a20bb730e9 | kernel.org | Patch |
| https://git.kernel.org/stable/c/2a219acb2ce674d99bbd1b7b35ed8c384dac7200 | kernel.org | Patch |
| https://git.kernel.org/stable/c/2d726135099313958f8975532a2e15322ff150ce | kernel.org | Patch |
| https://git.kernel.org/stable/c/3ec997bd5508e9b25210b5bbec89031629cdb093 | kernel.org | Patch |
| https://git.kernel.org/stable/c/7285276aa50d2839afb5957ffd491ad282dc8f72 | kernel.org | Patch |
| https://git.kernel.org/stable/c/7f7774b9da0ef17b87bfa238cf966ad0b3376150 | kernel.org | Patch |
| https://git.kernel.org/stable/c/eeb0f3e193f8e523d03e4c9e084f6b4875f50e8e | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-787 | Out-of-bounds Write | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 2.6.32.60, < 2.6.33 >= 2.6.34.14, < 2.6.35 >= 3.0.37, < 3.1 >= 3.2.23, < 3.3 >= 3.4.5, < 3.5 >= 3.5.1, < 5.10.261 >= 5.11, < 5.15.212 >= 5.16, < 6.1.178 >= 6.2, < 6.6.145 >= 6.7, < 6.12.96 >= 6.13, < 6.18.39 >= 6.19, < 7.1.4 3.5 - 3.5 rc5 3.5 rc6 3.5 rc7 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 4, 2026 | Initial Analysis | [email protected] |
| Aug 17, 2026 | CVE Modified | kernel.org |
| Jul 27, 2026 | CVE Modified | kernel.org |
| Jul 25, 2026 | New CVE Received | kernel.org |