Lucene search

K
cvelistLinuxCVELIST:CVE-2021-47368
HistoryMay 21, 2024 - 3:03 p.m.

CVE-2021-47368 enetc: Fix illegal access when reading affinity_hint

2024-05-2115:03:34
Linux
www.cve.org
linux kernel
vulnerability
resolved
irq_set_affinity_hit()
cpumask_t
irq descriptor
cpu_mask parameter
temporary storage
stack memory
procfs
affinity_hint file
paging request oops
get_cpu_mask()
permanent storage

6.2 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

15.7%

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

enetc: Fix illegal access when reading affinity_hint

irq_set_affinity_hit() stores a reference to the cpumask_t
parameter in the irq descriptor, and that reference can be
accessed later from irq_affinity_hint_proc_show(). Since
the cpu_mask parameter passed to irq_set_affinity_hit() has
only temporary storage (it’s on the stack memory), later
accesses to it are illegal. Thus reads from the corresponding
procfs affinity_hint file can result in paging request oops.

The issue is fixed by the get_cpu_mask() helper, which provides
a permanent storage for the cpumask_t parameter.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/ethernet/freescale/enetc/enetc.c"
    ],
    "versions": [
      {
        "version": "d4fd0404c1c9",
        "lessThan": "4c4c3052911b",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "d4fd0404c1c9",
        "lessThan": "6c3f1b741c6c",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "d4fd0404c1c9",
        "lessThan": "6f329d9da2a5",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "d4fd0404c1c9",
        "lessThan": "7237a494decf",
        "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/net/ethernet/freescale/enetc/enetc.c"
    ],
    "versions": [
      {
        "version": "5.1",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.1",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.4.150",
        "lessThanOrEqual": "5.4.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.10.70",
        "lessThanOrEqual": "5.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.14.9",
        "lessThanOrEqual": "5.14.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.15",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

6.2 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

15.7%