CVE-2026-52992
Beschrijving NL
In de Linux kernel is de volgende kwetsbaarheid verholpen:
fs/adfs: valideer nzones in adfs_validate_bblk()
Weiger ADFS-schijfrecords met een nulzonetelling tijdens het opstartblok
validatie, voordat de schijfrecord wordt gebruikt. Wanneer nzones 0 is, geeft adfs_read_map() het door aan kmalloc_array(0, ...)
die ZERO_SIZE_PTR retourneert, en adfs_map_layout() schrijft vervolgens naar
dm[-1], waardoor er buiten het bereik wordt geschreven vóór de toegewezen buffer. adfs_validate_dr0() verwerpt al nzones!= 1 voor oud formaat
afbeeldingen. Voeg de equivalente controle toe aan adfs_validate_bblk() voor
new-format afbeeldingen zodat een bewerkte afbeelding met nzones == 0 is
afgewezen op het moment van de sonde. Gevonden door syzkaller.
Origineel (Engels) tonen
In the Linux kernel, the following vulnerability has been resolved:
fs/adfs: validate nzones in adfs_validate_bblk()
Reject ADFS disc records with a zero zone count during boot block
validation, before the disc record is used.
When nzones is 0, adfs_read_map() passes it to kmalloc_array(0, ...)
which returns ZERO_SIZE_PTR, and adfs_map_layout() then writes to
dm[-1], causing an out-of-bounds write before the allocated buffer.
adfs_validate_dr0() already rejects nzones != 1 for old-format
images. Add the equivalent check to adfs_validate_bblk() for
new-format images so that a crafted image with nzones == 0 is
rejected at probe time.
Found by syzkaller.