CVE-2024-40901CWE-787

CVE-2024-40901

High · published July 12, 2024

CVSS v3.1
7.3
EPSS
0%
Percentile
23.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory

There is a potential out-of-bounds access when using test_bit() on a single

word. The test_bit() and set_bit() functions operate on long values, and

when testing or setting a single word, they can exceed the word

boundary. KASAN detects this issue and produces a dump:

BUG: KASAN: slab-out-of-bounds in _scsih_add_device.constprop.0 (./arch/x86/include/asm/bitops.h:60 ./include/asm-generic/bitops/instrumented-atomic.h:29 drivers/scsi/mpt3sas/mpt3sas_scsih.c:7331) mpt3sas

Write of size 8 at addr ffff8881d26e3c60 by task kworker/u1536:2/2965

For full log, please look at [1].

Make the allocation at least the size of sizeof(unsigned long) so that

set_bit() and test_bit() have sufficient room for read/write operations

without overwriting unallocated memory.

[1] Link: https://lore.kernel.org/all/[email protected]/

The record
Technical detail
CVSS v3.1
7.3 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00316 · 23.3th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2024-07-12T17:15Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 4.10, < 4.19.3174.19.317
linux/linux_kernel≥ 4.20, < 5.4.2795.4.279
linux/linux_kernel≥ 5.5, < 5.10.2215.10.221
linux/linux_kernel≥ 5.11, < 5.15.1625.15.162
linux/linux_kernel≥ 5.16, < 6.1.956.1.95
linux/linux_kernel≥ 6.2, < 6.6.356.6.35
linux/linux_kernel≥ 6.7, < 6.9.66.9.6
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (19)
https://git.kernel.org/stable/c/0081d2b3ae0a17a86b8cc0fa3c8bdc54e233ba16 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/18abb5db0aa9b2d48f7037a88b41af2eef821674 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/19649e49a6df07cd2e03e0a11396fd3a99485ec2 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/4254dfeda82f20844299dca6c38cbffcfd499f41 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/46bab2bcd771e725ff5ca3a68ba68cfeac45676c · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/521f333e644c4246ca04a4fc4772edc53dd2a801 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/9079338c5a0d1f1fee34fb1c9e99b754efe414c5 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e9bce7c751f6d6c7be88c0bc081a66aaf61a23ee · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/0081d2b3ae0a17a86b8cc0fa3c8bdc54e233ba16 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/18abb5db0aa9b2d48f7037a88b41af2eef821674 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/19649e49a6df07cd2e03e0a11396fd3a99485ec2 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/4254dfeda82f20844299dca6c38cbffcfd499f41 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/46bab2bcd771e725ff5ca3a68ba68cfeac45676c · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/521f333e644c4246ca04a4fc4772edc53dd2a801 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/9079338c5a0d1f1fee34fb1c9e99b754efe414c5 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e9bce7c751f6d6c7be88c0bc081a66aaf61a23ee · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-355557.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-398330.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 12 JUL 12:20Z
    scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory
    cvelistv5