Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

fstec логотип

BDU:2025-14571

Опубликовано: 13 окт. 2021
Источник: fstec
CVSS3: 7.8
CVSS2: 6.8
EPSS Низкий

Описание

Уязвимость функции nvmem_shift_read_buffer_in_place() модуля drivers/nvmem/core.c драйвера поддержки устройств NVMEM (энергонезависимой памяти) ядра операционной системы Linux связана с выходом операции за границы буфера. Эксплуатация уязвимости может позволить нарушителю вызвать отказ в обслуживании.

Вендор

Canonical Ltd.
Red Hat Inc.
Сообщество свободного программного обеспечения

Наименование ПО

Ubuntu
Red Hat Enterprise Linux
Debian GNU/Linux
Linux

Версия ПО

14.04 LTS (Ubuntu)
18.04 LTS (Ubuntu)
8 (Red Hat Enterprise Linux)
10 (Debian GNU/Linux)
20.04 LTS (Ubuntu)
11 (Debian GNU/Linux)
9 (Red Hat Enterprise Linux)
от 4.20 до 5.4.154 включительно (Linux)
от 5.5 до 5.10.74 включительно (Linux)
от 5.11 до 5.14.13 включительно (Linux)
от 4.15 до 4.19.212 включительно (Linux)
от 4.5 до 4.9.287 включительно (Linux)
9.4 Extended Update Support (Red Hat Enterprise Linux)
от 4.10 до 4.14.251 включительно (Linux)
от 4.3 до 4.4.289 включительно (Linux)

Тип ПО

Операционная система

Операционные системы и аппаратные платформы

Canonical Ltd. Ubuntu 14.04 LTS
Canonical Ltd. Ubuntu 18.04 LTS
Red Hat Inc. Red Hat Enterprise Linux 8
Сообщество свободного программного обеспечения Debian GNU/Linux 10
Canonical Ltd. Ubuntu 20.04 LTS
Сообщество свободного программного обеспечения Debian GNU/Linux 11
Red Hat Inc. Red Hat Enterprise Linux 9
Сообщество свободного программного обеспечения Linux от 4.20 до 5.4.154 включительно
Сообщество свободного программного обеспечения Linux от 5.5 до 5.10.74 включительно
Сообщество свободного программного обеспечения Linux от 5.11 до 5.14.13 включительно
Сообщество свободного программного обеспечения Linux от 4.15 до 4.19.212 включительно
Сообщество свободного программного обеспечения Linux от 4.5 до 4.9.287 включительно
Red Hat Inc. Red Hat Enterprise Linux 9.4 Extended Update Support
Сообщество свободного программного обеспечения Linux от 4.10 до 4.14.251 включительно
Сообщество свободного программного обеспечения Linux от 4.3 до 4.4.289 включительно

Уровень опасности уязвимости

Средний уровень опасности (базовая оценка CVSS 2.0 составляет 6,8)
Высокий уровень опасности (базовая оценка CVSS 3.1 составляет 7,8)

Возможные меры по устранению уязвимости

В условиях отсутствия обновлений безопасности от производителя рекомендуется придерживаться "Рекомендаций по безопасной настройке операционных систем LINUX", изложенных в методическом документе ФСТЭК России, утверждённом 25 декабря 2022 года.
Использование рекомендаций:
Для Linux:
https://lore.kernel.org/linux-cve-announce/2024052242-CVE-2021-47497-449e@gregkh/
https://git.kernel.org/stable/c/abcb8d33e4d2215ccde5ab5ccf9f730a59d79d97
https://git.kernel.org/stable/c/60df06bbdf497e37ed25ad40572c362e5b0998df
https://git.kernel.org/stable/c/2df6c023050205c4d04ffc121bc549f65cb8d1df
https://git.kernel.org/stable/c/eb0fc8e7170e61eaf65d28dee4a8baf4e86b19ca
https://git.kernel.org/stable/c/0594f1d048d8dc338eb9a240021b1d00ae1eb082
https://git.kernel.org/stable/c/57e48886401b14cd351423fabfec2cfd18df4f66
https://git.kernel.org/stable/c/0e822e5413da1af28cca350cb1cb42b6133bdcae
https://git.kernel.org/linus/5d388fa01fa6eb310ac023a363a6cb216d9d8fe9
Для Debian GNU/Linux:
https://security-tracker.debian.org/tracker/CVE-2021-47497
Для программных продуктов Red Hat Inc.:
https://access.redhat.com/security/cve/cve-2021-47497
Для Ubuntu:
https://ubuntu.com/security/CVE-2021-47497

Статус уязвимости

Подтверждена производителем

Наличие эксплойта

Данные уточняются

Информация об устранении

Уязвимость устранена

Идентификаторы других систем описаний уязвимостей

EPSS

Процентиль: 5%
0.00022
Низкий

7.8 High

CVSS3

6.8 Medium

CVSS2

Связанные уязвимости

CVSS3: 7.8
ubuntu
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells If a cell has 'nbits' equal to a multiple of BITS_PER_BYTE the logic *p &= GENMASK((cell->nbits%BITS_PER_BYTE) - 1, 0); will become undefined behavior because nbits modulo BITS_PER_BYTE is 0, and we subtract one from that making a large number that is then shifted more than the number of bits that fit into an unsigned long. UBSAN reports this problem: UBSAN: shift-out-of-bounds in drivers/nvmem/core.c:1386:8 shift exponent 64 is too large for 64-bit type 'unsigned long' CPU: 6 PID: 7 Comm: kworker/u16:0 Not tainted 5.15.0-rc3+ #9 Hardware name: Google Lazor (rev3+) with KB Backlight (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x0/0x170 show_stack+0x24/0x30 dump_stack_lvl+0x64/0x7c dump_stack+0x18/0x38 ubsan_epilogue+0x10/0x54 __ubsan_handle_shift_out_of_bounds+0x180/0x194 __nvmem_cell_read+0x1ec/0x21c nvmem_cell_read+0x...

CVSS3: 4.4
redhat
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells If a cell has 'nbits' equal to a multiple of BITS_PER_BYTE the logic *p &= GENMASK((cell->nbits%BITS_PER_BYTE) - 1, 0); will become undefined behavior because nbits modulo BITS_PER_BYTE is 0, and we subtract one from that making a large number that is then shifted more than the number of bits that fit into an unsigned long. UBSAN reports this problem: UBSAN: shift-out-of-bounds in drivers/nvmem/core.c:1386:8 shift exponent 64 is too large for 64-bit type 'unsigned long' CPU: 6 PID: 7 Comm: kworker/u16:0 Not tainted 5.15.0-rc3+ #9 Hardware name: Google Lazor (rev3+) with KB Backlight (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x0/0x170 show_stack+0x24/0x30 dump_stack_lvl+0x64/0x7c dump_stack+0x18/0x38 ubsan_epilogue+0x10/0x54 __ubsan_handle_shift_out_of_bounds+0x180/0x194 __nvmem_cell_read+0x1ec/0x21c nvmem_cell_read+0x...

CVSS3: 7.8
nvd
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells If a cell has 'nbits' equal to a multiple of BITS_PER_BYTE the logic *p &= GENMASK((cell->nbits%BITS_PER_BYTE) - 1, 0); will become undefined behavior because nbits modulo BITS_PER_BYTE is 0, and we subtract one from that making a large number that is then shifted more than the number of bits that fit into an unsigned long. UBSAN reports this problem: UBSAN: shift-out-of-bounds in drivers/nvmem/core.c:1386:8 shift exponent 64 is too large for 64-bit type 'unsigned long' CPU: 6 PID: 7 Comm: kworker/u16:0 Not tainted 5.15.0-rc3+ #9 Hardware name: Google Lazor (rev3+) with KB Backlight (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x0/0x170 show_stack+0x24/0x30 dump_stack_lvl+0x64/0x7c dump_stack+0x18/0x38 ubsan_epilogue+0x10/0x54 __ubsan_handle_shift_out_of_bounds+0x180/0x194 __nvmem_cell_read+0x1ec/

CVSS3: 7.8
debian
больше 1 года назад

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

CVSS3: 7.8
github
больше 1 года назад

In the Linux kernel, the following vulnerability has been resolved: nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells If a cell has 'nbits' equal to a multiple of BITS_PER_BYTE the logic *p &= GENMASK((cell->nbits%BITS_PER_BYTE) - 1, 0); will become undefined behavior because nbits modulo BITS_PER_BYTE is 0, and we subtract one from that making a large number that is then shifted more than the number of bits that fit into an unsigned long. UBSAN reports this problem: UBSAN: shift-out-of-bounds in drivers/nvmem/core.c:1386:8 shift exponent 64 is too large for 64-bit type 'unsigned long' CPU: 6 PID: 7 Comm: kworker/u16:0 Not tainted 5.15.0-rc3+ #9 Hardware name: Google Lazor (rev3+) with KB Backlight (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x0/0x170 show_stack+0x24/0x30 dump_stack_lvl+0x64/0x7c dump_stack+0x18/0x38 ubsan_epilogue+0x10/0x54 __ubsan_handle_shift_out_of_bounds+0x180/0x194 __nvmem_cell_read+0x1...

EPSS

Процентиль: 5%
0.00022
Низкий

7.8 High

CVSS3

6.8 Medium

CVSS2