CVE-2022-49353

powerpc/papr_scm: don't requests stats with '0' sized stats buffer

Medium · published February 26, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
13.1
In the wild
Unconfirmed
What it is

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

powerpc/papr_scm: don't requests stats with '0' sized stats buffer

Sachin reported [1] that on a POWER-10 lpar he is seeing a kernel panic being

reported with vPMEM when papr_scm probe is being called. The panic is of the

form below and is observed only with following option disabled(profile) for the

said LPAR 'Enable Performance Information Collection' in the HMC:

Kernel attempted to write user page (1c) - exploit attempt? (uid: 0)

BUG: Kernel NULL pointer dereference on write at 0x0000001c

Faulting instruction address: 0xc008000001b90844

Oops: Kernel access of bad area, sig: 11 [#1]

<snip>

NIP [c008000001b90844] drc_pmem_query_stats+0x5c/0x270 [papr_scm]

LR [c008000001b92794] papr_scm_probe+0x2ac/0x6ec [papr_scm]

Call Trace:

0xc00000000941bca0 (unreliable)

papr_scm_probe+0x2ac/0x6ec [papr_scm]

platform_probe+0x98/0x150

really_probe+0xfc/0x510

__driver_probe_device+0x17c/0x230

<snip>

---[ end trace 0000000000000000 ]---

Kernel panic - not syncing: Fatal exception

On investigation looks like this panic was caused due to a 'stat_buffer' of

size==0 being provided to drc_pmem_query_stats() to fetch all performance

stats-ids of an NVDIMM. However drc_pmem_query_stats() shouldn't have been called

since the vPMEM NVDIMM doesn't support and performance stat-id's. This was caused

due to missing check for 'p->stat_buffer_len' at the beginning of

papr_scm_pmu_check_events() which indicates that the NVDIMM doesn't support

performance-stats.

Fix this by introducing the check for 'p->stat_buffer_len' at the beginning of

papr_scm_pmu_check_events().

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

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00230 · 13.1th percentile
Published
2025-02-26T02:11Z
EPSS history
Timeline
  • 26 FEB 02:11Z
    powerpc/papr_scm: don't requests stats with '0' sized stats buffer
    cvelistv5