Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2021-47095
HistoryMar 04, 2024 - 6:10 p.m.

CVE-2021-47095 ipmi: ssif: initialize ssif_info->client early

2024-03-0418:10:46
Linux
github.com
6
linux kernel
vulnerability
ipmi ssif

AI Score

6.6

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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

ipmi: ssif: initialize ssif_info->client early

During probe ssif_info->client is dereferenced in error path. However,
it is set when some of the error checking has already been done. This
causes following kernel crash if an error path is taken:

[ 30.645593][ T674] ipmi_ssif 0-000e: ipmi_ssif: Not probing, Interface already present
[ 30.657616][ T674] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000088

[ 30.657723][ T674] pc : __dev_printk+0x28/0xa0
[ 30.657732][ T674] lr : _dev_err+0x7c/0xa0

[ 30.657772][ T674] Call trace:
[ 30.657775][ T674] __dev_printk+0x28/0xa0
[ 30.657778][ T674] _dev_err+0x7c/0xa0
[ 30.657781][ T674] ssif_probe+0x548/0x900 [ipmi_ssif 62ce4b08badc1458fd896206d9ef69a3c31f3d3e]
[ 30.657791][ T674] i2c_device_probe+0x37c/0x3c0

Initialize ssif_info->client before any error path can be taken. Clear
i2c_client data in the error path to prevent the dangling pointer from
leaking.

CNA Affected

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "c4436c9149c5",
        "lessThan": "8efd6a3391f7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c4436c9149c5",
        "lessThan": "1f6ab847461c",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c4436c9149c5",
        "lessThan": "77a7311ca167",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c4436c9149c5",
        "lessThan": "34f35f8f14bc",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/char/ipmi/ipmi_ssif.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.4"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.4",
        "versionType": "custom"
      },
      {
        "status": "unaffected",
        "version": "5.4.169",
        "versionType": "custom",
        "lessThanOrEqual": "5.4.*"
      },
      {
        "status": "unaffected",
        "version": "5.10.89",
        "versionType": "custom",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.12",
        "versionType": "custom",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "5.16",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/char/ipmi/ipmi_ssif.c"
    ],
    "defaultStatus": "affected"
  }
]

AI Score

6.6

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial