CVE-2019-13272
Linux Kernel
2021-12-10
Kernel/ptrace.c in Linux kernel mishandles contains an improper privilege management vulnerability that allows local users to obtain root access.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2019-13272) в ядре Linux позволяет локальному непривилегированному пользователю повысить свои права до root (суперпользователя).
- Механизм: Ошибка в функции
ptrace()(используется для отладки процессов) позволяет обойти проверки прав доступа. - Эксплуатация: Злоумышленник, имеющий доступ к системе под обычной учетной записью (например, через SSH или локальную консоль), может запустить специально созданную программу (эксплойт). Эта программа использует
ptraceдля манипуляции с процессами и получения полного контроля над системой.
Как исправить
Единственный надежный способ устранения — обновить ядро Linux до исправленной версии. Конкретные версии зависят от дистрибутива.
Для Ubuntu/Debian:
# Обновите список пакетов
sudo apt update
# Обновите ядро и все пакеты
sudo apt full-upgrade
# Перезагрузите систему для применения нового ядра
sudo reboot
- Проверьте версию ядра: После перезагрузки выполните
uname -r. Уязвимость устранена в версиях:- Ubuntu 18.04 LTS:
5.0.0-23.24и новее. - Ubuntu 16.04 LTS:
4.4.0-157.185и новее. - Debian 9 (stretch):
4.9.168-1и новее. - Debian 10 (buster):
4.19.37-5и новее.
- Ubuntu 18.04 LTS:
Для RHEL/CentOS:
# Обновите ядро
sudo yum update kernel
# Перезагрузите систему
sudo reboot
- Проверьте версию ядра: После перезагрузки выполните
uname -r. Уязвимость устранена в версиях:- RHEL/CentOS 7:
3.10.0-1062.el7и новее. - RHEL/CentOS 8:
4.18.0-80.11.2.el8_0и новее.
- RHEL/CentOS 7:
Временное решение
Если немедленное обновление невозможно, примите следующие меры для снижения риска:
-
Ограничение доступа к
ptrace:- Установите системный параметр
kernel.yama.ptrace_scope. Это ограничит использованиеptraceтолько для родительских процессов (например, отладчиков). ```bash
Установите значение 1 (только родительские процессы) или 2 (только администратор)
sudo sysctl -w kernel.yama.ptrace_scope=1
Чтобы настройка сохранилась после перезагрузки, добавьте в файл /etc/sysctl.conf
echo "kernel.yama.ptrace_scope=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p ```
- Установите системный параметр
-
Минимизация привилегий пользователей:
- Проверьте список пользователей, имеющих доступ к системе (
/etc/passwd). Удалите или отключите ненужные учетные записи. - Убедитесь, что у обычных пользователей нет прав
sudoна выполнение критических команд.
- Проверьте список пользователей, имеющих доступ к системе (
-
Мониторинг и аудит:
- Включите аудит использования системного вызова
ptraceс помощьюauditd. ```bash
Добавьте правило аудита
sudo auditctl -a always,exit -F arch=b64 -S ptrace -k ptrace_monitor
Проверяйте логи в /var/log/audit/audit.log
```
- Включите аудит использования системного вызова
Важно: Эти меры лишь усложняют эксплуатацию, но не устраняют уязвимость полностью. Обновление ядра должно быть приоритетной задачей.