CVE-2021-47535CWE-787

CVE-2021-47535

High · published May 24, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
13.8
In the wild
Unconfirmed
What it is

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

drm/msm/a6xx: Allocate enough space for GMU registers

In commit 142639a52a01 ("drm/msm/a6xx: fix crashstate capture for

A650") we changed a6xx_get_gmu_registers() to read 3 sets of

registers. Unfortunately, we didn't change the memory allocation for

the array. That leads to a KASAN warning (this was on the chromeos-5.4

kernel, which has the problematic commit backported to it):

BUG: KASAN: slab-out-of-bounds in _a6xx_get_gmu_registers+0x144/0x430

Write of size 8 at addr ffffff80c89432b0 by task A618-worker/209

CPU: 5 PID: 209 Comm: A618-worker Tainted: G W 5.4.156-lockdep #22

Hardware name: Google Lazor Limozeen without Touchscreen (rev5 - rev8) (DT)

Call trace:

dump_backtrace+0x0/0x248

show_stack+0x20/0x2c

dump_stack+0x128/0x1ec

print_address_description+0x88/0x4a0

__kasan_report+0xfc/0x120

kasan_report+0x10/0x18

__asan_report_store8_noabort+0x1c/0x24

_a6xx_get_gmu_registers+0x144/0x430

a6xx_gpu_state_get+0x330/0x25d4

msm_gpu_crashstate_capture+0xa0/0x84c

recover_worker+0x328/0x838

kthread_worker_fn+0x32c/0x574

kthread+0x2dc/0x39c

ret_from_fork+0x10/0x18

Allocated by task 209:

__kasan_kmalloc+0xfc/0x1c4

kasan_kmalloc+0xc/0x14

kmem_cache_alloc_trace+0x1f0/0x2a0

a6xx_gpu_state_get+0x164/0x25d4

msm_gpu_crashstate_capture+0xa0/0x84c

recover_worker+0x328/0x838

kthread_worker_fn+0x32c/0x574

kthread+0x2dc/0x39c

ret_from_fork+0x10/0x18

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00236 · 13.8th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2024-05-24T19:15Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel≥ 5.9, < 5.10.845.10.84
linux/linux_kernel≥ 5.11, < 5.15.75.15.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 24 MAY 15:09Z
    drm/msm/a6xx: Allocate enough space for GMU registers
    cvelistv5