Lucene search

K
cvelistLinuxCVELIST:CVE-2024-40901
HistoryJul 12, 2024 - 12:20 p.m.

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

2024-07-1212:20:42
Linux
www.cve.org
31
linux kernel
scsi
mpt3sas
out-of-bounds access
kasan
memory allocation

EPSS

0

Percentile

13.4%

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]/

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/scsi/mpt3sas/mpt3sas_base.c"
    ],
    "versions": [
      {
        "version": "c696f7b83ede",
        "lessThan": "e9bce7c751f6",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "19649e49a6df",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "0081d2b3ae0a",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "521f333e644c",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "46bab2bcd771",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "9079338c5a0d",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "18abb5db0aa9",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "c696f7b83ede",
        "lessThan": "4254dfeda82f",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/scsi/mpt3sas/mpt3sas_base.c"
    ],
    "versions": [
      {
        "version": "4.10",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "4.10",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "4.19.317",
        "lessThanOrEqual": "4.19.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.4.279",
        "lessThanOrEqual": "5.4.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.10.221",
        "lessThanOrEqual": "5.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.15.162",
        "lessThanOrEqual": "5.15.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.1.95",
        "lessThanOrEqual": "6.1.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.35",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.9.6",
        "lessThanOrEqual": "6.9.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]