High · published December 27, 2024
In the Linux kernel, the following vulnerability has been resolved:
acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl
Fix an issue detected by syzbot with KASAN:
BUG: KASAN: vmalloc-out-of-bounds in cmd_to_func drivers/acpi/nfit/
core.c:416 [inline]
BUG: KASAN: vmalloc-out-of-bounds in acpi_nfit_ctl+0x20e8/0x24a0
drivers/acpi/nfit/core.c:459
The issue occurs in cmd_to_func when the call_pkg->nd_reserved2
array is accessed without verifying that call_pkg points to a buffer
that is appropriately sized as a struct nd_cmd_pkg. This can lead
to out-of-bounds access and undefined behavior if the buffer does not
have sufficient space.
To address this, a check was added in acpi_nfit_ctl() to ensure that
buf is not NULL and that buf_len is less than sizeof(*call_pkg)
before accessing it. This ensures safe access to the members of
call_pkg, including the nd_reserved2 array.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.14.176, < 4.15 | 4.15 |
| linux/linux_kernel | ≥ 4.19.31, < 4.20 | 4.20 |
| linux/linux_kernel | ≥ 5.0.4, < 5.10.232 | 5.10.232 |
| linux/linux_kernel | ≥ 5.11, < 5.15.175 | 5.15.175 |
| linux/linux_kernel | ≥ 5.16, < 6.1.121 | 6.1.121 |
| linux/linux_kernel | ≥ 6.2, < 6.6.67 | 6.6.67 |
| linux/linux_kernel | ≥ 6.7, < 6.12.6 | 6.12.6 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |