PT-2024-11472 · Linux+6 · Linux Kernel+6

Stephen Boyd

·

Published

2021-10-13

·

Updated

2025-01-21

·

CVE-2021-47497

CVSS v3.1

7.8

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions Linux kernel versions prior to 5.15.0-rc3+
Description The issue arises when a cell has 'nbits' equal to a multiple of BITS PER BYTE. The logic *p &= GENMASK((cell->nbits%BITS PER BYTE) - 1, 0) becomes undefined behavior because nbits modulo BITS PER BYTE is 0, and subtracting one from that results in a large number that is then shifted more than the number of bits that fit into an unsigned long. UBSAN reports this problem as a shift-out-of-bounds in drivers/nvmem/core.c.
Recommendations To resolve the issue, update the Linux kernel to a version that includes the fix for the shift-out-of-bound vulnerability. For Linux kernel versions prior to 5.15.0-rc3+, consider applying the patch that fixes the shift-out-of-bound issue in the nvmem subsystem. As a temporary workaround, consider disabling the nvmem cell read function until a patch is available.

Fix

Out of bounds Read

Memory Corruption

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

ALSA-2024:7000
ALSA-2024:7001
BDU:2025-14571
CESA-2024_7000
CESA-2024_7001
CVE-2021-47497
INFSA-2024_7000
INFSA-2024_7001
INFSA-2024_9315
OESA-2024-1677
OESA-2024-1678
OPENSUSE-SU-2024_2185-1
OPENSUSE-SU-2024_2189-1
RHSA-2024:7000
RHSA-2024:7001
RHSA-2024:9315
RHSA-2024_7000
RHSA-2024_7001
RHSA-2024_9315
RHSA-2025:2490
RLSA-2024:7001
SUSE-SU-2024:1979-1
SUSE-SU-2024:1983-1
SUSE-SU-2024:2008-1
SUSE-SU-2024:2010-1
SUSE-SU-2024:2011-1
SUSE-SU-2024:2019-1
SUSE-SU-2024:2183-1
SUSE-SU-2024:2184-1
SUSE-SU-2024:2185-1
SUSE-SU-2024:2189-1
SUSE-SU-2024:2190-1

Affected Products

Almalinux
Astra Linux
Centos
Linux Kernel
Red Hat
Rocky Linux
Suse