İçeriğe geç
Bilgi ve Teknoloji Uygulamada aç

Yüksek CVSS 7.8

CVE-2026-64322: Linux Kernel: sınır dışı yazma

Yayın: · Güncelleme:

Açıklama (NVD)

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().

Özet bilgiler

Ürün
Linux Linux Kernel
CVSS v3.1
7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS
%0,17 (yüzdelik 6)
CWE
CWE-787
Yama
Mevcut

Etkilenen sürümler

ÜrünBaşlangıçBitişDüzeltildi
linux-linux-kernel2.6.32.60—2.6.33
linux-linux-kernel2.6.34.14—2.6.35
linux-linux-kernel3.0.37—3.1
linux-linux-kernel3.2.23—3.3
linux-linux-kernel3.4.5—3.5
linux-linux-kernel3.5.1—5.10.261
linux-linux-kernel5.11—5.15.212
linux-linux-kernel5.16—6.1.178
linux-linux-kernel6.2—6.6.145
linux-linux-kernel6.7—6.12.96
linux-linux-kernel6.13—6.18.39
linux-linux-kernel6.19—7.1.4
linux-linux-kernel3.53.5—
linux-linux-kernel3.53.5—
linux-linux-kernel3.53.5—
linux-linux-kernel3.53.5—

Kaynaklar

Uygulamada aç Tüm CVE kayıtları