7.8

CVE-2026-64322

udf: validate sparing table length as an entry count, not a byte count

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().
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
Linux ≫ Linux Kernel Version >= 2.6.32.60 < 2.6.33
Linux ≫ Linux Kernel Version >= 2.6.34.14 < 2.6.35
Linux ≫ Linux Kernel Version >= 3.0.37 < 3.1
Linux ≫ Linux Kernel Version >= 3.2.23 < 3.3
Linux ≫ Linux Kernel Version >= 3.4.5 < 3.5
Linux ≫ Linux Kernel Version >= 3.5.1 < 5.10.261
Linux ≫ Linux Kernel Version >= 5.11 < 5.15.212
Linux ≫ Linux Kernel Version >= 5.16 < 6.1.178
Linux ≫ Linux Kernel Version >= 6.2 < 6.6.145
Linux ≫ Linux Kernel Version >= 6.7 < 6.12.96
Linux ≫ Linux Kernel Version >= 6.13 < 6.18.39
Linux ≫ Linux Kernel Version >= 6.19 < 7.1.4
Linux ≫ Linux Kernel Version 3.5 Update -
Linux ≫ Linux Kernel Version 3.5 Update rc5
Linux ≫ Linux Kernel Version 3.5 Update rc6
Linux ≫ Linux Kernel Version 3.5 Update rc7
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.16% 0.06
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-787 Out-of-bounds Write

The product writes data past the end, or before the beginning, of the intended buffer.

https://git.kernel.org/stable/c/eeb0f3e193f8e523d03e4c9e084f6b4875f50e8e
Patch
https://git.kernel.org/stable/c/0a9b79a951cfd70a9d31ca01ae2d08a20bb730e9
Patch
https://git.kernel.org/stable/c/2d726135099313958f8975532a2e15322ff150ce
Patch
https://git.kernel.org/stable/c/7285276aa50d2839afb5957ffd491ad282dc8f72
Patch
https://git.kernel.org/stable/c/2a219acb2ce674d99bbd1b7b35ed8c384dac7200
Patch
https://git.kernel.org/stable/c/04f4599a9efb90992d072a814960edf0cd62805d
Patch
https://git.kernel.org/stable/c/7f7774b9da0ef17b87bfa238cf966ad0b3376150
Patch
https://git.kernel.org/stable/c/3ec997bd5508e9b25210b5bbec89031629cdb093
Patch