В ядре Linux устранена следующая уязвимость:
hwmon: (asus_atk0110) Проверьте количество пакетов перед доступом к элементу
atk_ec_present() просматривает пакет группы управления, возвращенный GGRP.
ACPI и для каждого подпакета считывает его первый элемент:
id = &obj->package.elements[0];
if (id->type != ACPI_TYPE_INTEGER)
без проверки того, что субпакет не пуст. ACPICA выделяет
массив элементов с точными записями package.count, поэтому для подпакета
при нулевом счете это считывается за пределы выделения.
Родственная функция atk_debugfs_ggrp_open() выполняет тот же доступ, но
пропускает пустые пакеты, сначала проверив package.count. Добавьте то же самое
проверьте atk_ec_present(), чтобы неверный пакет прошивки не мог сработать
чтение за пределами поля.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: hwmon: (asus_atk0110) Check package count before accessing element atk_ec_present() walks the management group package returned by the GGRP ACPI method and, for each sub-package, reads its first element: id = &obj->package.elements[0]; if (id->type != ACPI_TYPE_INTEGER) without checking that the sub-package is non-empty. ACPICA allocates the element array with exactly package.count entries, so for a sub-package with a zero count this reads past the allocation. The sibling function atk_debugfs_ggrp_open() performs the same access but skips empty packages with a package.count check first. Add the same check to atk_ec_present() so a malformed firmware package cannot trigger an out-of-bounds read.
Характеристики атаки
Последствия
Строка CVSS v3.1