KernelScan.io

HIGH

mtd DebugFS OOB

CVE-2026-46190

CVSS 7.1 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

KernelScan AI3.8LOW

01

In the Linux kernel, the following vulnerability has been resolved: mtd: spi-nor: debugfs: fix out-of-bounds read in spi_nor_params_show() Sashiko noticed an out-of-bounds read [1]. In spi_nor_params_show(), the snor_f_names array is passed to spi_nor_print_flags() using sizeof(snor_f_names). Since snor_f_names is an array of pointers, sizeof() returns the total number of bytes occupied by the pointers (element_count * sizeof(void *)) rather than the element count itself. On 64-bit systems, this makes the passed length 8x larger than intended. Inside spi_nor_print_flags(), the 'names_len' argument is used to bounds-check the 'names' array access. An out-of-bounds read occurs if a flag bit is set that exceeds the array's actual element count but is within the inflated byte-size count. Correct this by using ARRAY_SIZE() to pass the actual number of string pointers in the array.

02

Engine v0.2.0

Risk summary

Root users can trigger an out-of-bounds read in the MTD SPI-NOR debugfs interface by accessing parameter files. This could leak limited kernel memory contents or cause system instability. Only affects systems with debugfs mounted and MTD SPI-NOR devices present.

Affecteddrivers/mtd/spi-nor/debugfs.c (MTD SPI-NOR)

Vulnerability analysis

The vulnerability occurs in spi_nor_params_show() where sizeof(snor_f_names) is used instead of ARRAY_SIZE(snor_f_names) for bounds checking. Since snor_f_names is a pointer array, sizeof() returns 8x the intended value on 64-bit systems, allowing out-of-bounds reads when flag bits exceed the actual array size. The fix correctly uses ARRAY_SIZE() to pass the element count. Attack surface is limited to local root access via debugfs.

03

BranchFixed inPatch commit
6.126.12.88ca18c180b053
6.186.18.3034bdcfb496b2
6.66.6.1409a80c458320e
7.07.0.7c0b654bc0b76
mainline7.1-rc2e47029b977e7