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().
Published: 2026-07-25
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability stems from the UDF driver interpreting the sparing table length field as a byte count instead of an entry count. During validation the kernel checks that the sum of the table header size and the reported length fits within a filesystem block, but the subsequent code treats that length as the number of eight‑byte entries. This mismatch allows the driver to read beyond the block boundary when locating sparing entries and to write beyond the block when relocating blocks, resulting in out‑of‑bounds memory accesses that can corrupt kernel memory. An attacker who can supply a crafted UDF image that is processed by the target system could exploit these violations to leak sensitive data or potentially execute arbitrary code, as the corruption occurs in kernel space.

Affected Systems

All Linux kernel releases that contain the unpatched UDF code are affected. No explicit kernel version range is listed, so any kernel prior to the patch that added proper length validation for the sparing table is considered vulnerable.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity impact. The EPSS score of <1 % suggests that current exploitation likelihood is low, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is the delivery of a malicious UDF image that the system mounts or processes; this is inferred from the fact that the bug manifests when the kernel parses the sparing table during UDF image handling. No publicly documented workaround exists, so the risk depends on how the environment restricts or validates UDF images and how quickly the vulnerability is remedied.

Generated by OpenCVE AI on August 4, 2026 at 14:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that validates sparingTableLen as an entry count; upgrade to a kernel release that includes the fix.
  • If patching cannot be performed immediately, disable UDF filesystem support in the kernel configuration (remove CONFIG_UDF_FS) or unload the driver.
  • Limit the use of UDF images on production systems; reject or quarantine any non‑system‑generated UDF files before mounting the filesystem.
  • Enable kernel hardening features such as KASLR, SMEP, SMAP, and memory randomization to reduce the impact of any successful exploitation.

Generated by OpenCVE AI on August 4, 2026 at 14:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Sat, 01 Aug 2026 02:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-126

Wed, 29 Jul 2026 12:15:00 +0000


Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sun, 26 Jul 2026 02:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-125
CWE-126

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
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().
Title udf: validate sparing table length as an entry count, not a byte count
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:40:59.025Z

Reserved: 2026-07-19T15:36:31.780Z

Link: CVE-2026-64322

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:13.640

Modified: 2026-08-11T15:00:57.447

Link: CVE-2026-64322

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64322 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T14:45:03Z

Weaknesses