CVE-2024-50302
Linux Kernel
2025-03-04
The Linux kernel contains a use of uninitialized resource vulnerability that allows an attacker to leak kernel memory via a specially crafted HID report.
Технический анализ и план устранения
Суть уязвимости
CVE-2024-50302 представляет собой уязвимость типа Use of Uninitialized Resource (использование неинициализированного ресурса) в подсистеме HID (Human Interface Device) ядра Linux.
Проблема заключается в том, что при обработке специфических HID-отчетов ядро не производит должную очистку буферов памяти перед их использованием или передачей. Злоумышленник, имеющий возможность отправлять специально сформированные HID-отчеты (например, через USB-устройство или эмулированный ввод), может спровоцировать утечку данных из памяти ядра (Kernel Memory Leak). Это позволяет обойти механизмы защиты, такие как KASLR, или получить доступ к конфиденциальной информации, находящейся в соседних сегментах памяти.
Как исправить
Основным способом устранения является обновление ядра Linux до версий, в которых был применен соответствующий патч (исправление вносит инициализацию структур перед их копированием).
- Обновите индексы пакетов:
sudo apt update
- Выполните обновление ядра и системных компонентов:
sudo apt upgrade
- Если вы используете специфический дистрибутив (Ubuntu/Debian), установите последние доступные образы:
sudo apt dist-upgrade
- После установки обновлений обязательно перезагрузите систему для загрузки новой версии ядра:
sudo reboot
- Проверьте версию ядра после перезагрузки (убедитесь, что дата сборки соответствует актуальным патчам от вашего вендора):
uname -r
Примечание: Для систем на базе RHEL/CentOS/Fedora используйте dnf update kernel.
Временные меры
Если немедленное обновление ядра невозможно, рекомендуется ограничить векторы атаки:
- Отключите неиспользуемые HID-драйверы или ограничьте физический доступ к USB-портам сервера/рабочей станции.
- Используйте правила
udevдля блокировки подключения неизвестных или подозрительных HID-устройств. - В критических инфраструктурах можно временно отключить модуль
usbhid, если ввод через USB не является обязательным для работы сервера:
sudo modprobe -r usbhid
- Для предотвращения автоматической загрузки модуля создайте конфиг в blacklist:
echo "blacklist usbhid" | sudo tee /etc/modprobe.d/disable-usbhid.conf
- Используйте механизмы изоляции и мониторинга (например, Auditd) для отслеживания подозрительной активности, связанной с устройствами ввода.