CVE-2026-52992

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < 33aafd2418a59c96c0389d47ea09026661fa9ec6affected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < 1f0ed0f57f0fc87e46fe19a05435c214dc464be2affected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < 6ff8cca5cdb4f2e0ea6d28ecd78479dd3f221ebcaffected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < a11372a8b1ceaa5e950a84b3b5fbf8228f25e277affected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < 1586bd2d2fb436a26df20a70e78b000d34a7d159affected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < a3fd5dc1c7b0aae947a67dc2e2c037d57557a4deaffected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < 60d82592ac8b5637fbed871381eb0a16df0a492eaffected
LinuxLinuxf6f14a0d71b0773a1d4147d1a3c33d537cd213ab < dd9d3e16c2d5fa166e13dce07413be51f42c8f5daffected
LinuxLinux5.6affected
LinuxLinux0 < 5.6unaffected
LinuxLinux5.10.258 <= 5.10.*unaffected
LinuxLinux5.15.209 <= 5.15.*unaffected
LinuxLinux6.1.175 <= 6.1.*unaffected
LinuxLinux6.6.141 <= 6.6.*unaffected
LinuxLinux6.12.91 <= 6.12.*unaffected
LinuxLinux6.18.33 <= 6.18.*unaffected
LinuxLinux7.0.10 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References