7.1
/ 10
HIGH
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Description
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.
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.
Basic Information
ID
CVE-2026-46190
Source
Linux
Published
May 28, 2026 at 09:36
Modified
May 30, 2026 at 10:48
Affected Product
Vendor
Linux
Product
Linux
Version
0257be79fc4a16a3252ce80aa13b3640f728c425
Affected Versions
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 5.19
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 0257be79fc4a16a3252ce80aa13b3640f728c425
Linux Linux 5.19
References
- git.kernel.org /stable/c/9a80c458320e0514e11945402dd6e48fcee05524
- git.kernel.org /stable/c/ca18c180b053f6ce80394322b314ac721c316af7
- git.kernel.org /stable/c/34bdcfb496b29f9a52431194f94473b37fb8c162
- git.kernel.org /stable/c/c0b654bc0b76a1da102d9138be1ed1223bd99310
- git.kernel.org /stable/c/e47029b977e747cb3a9174308fd55762cce70147