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 и новее.

Для 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 и новее.

Временное решение

Если немедленное обновление невозможно, примите следующие меры для снижения риска:

  1. Ограничение доступа к 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 ```

  2. Минимизация привилегий пользователей:

    • Проверьте список пользователей, имеющих доступ к системе (/etc/passwd). Удалите или отключите ненужные учетные записи.
    • Убедитесь, что у обычных пользователей нет прав sudo на выполнение критических команд.
  3. Мониторинг и аудит:

    • Включите аудит использования системного вызова ptrace с помощью auditd. ```bash

    Добавьте правило аудита

    sudo auditctl -a always,exit -F arch=b64 -S ptrace -k ptrace_monitor

    Проверяйте логи в /var/log/audit/audit.log

    ```

Важно: Эти меры лишь усложняют эксплуатацию, но не устраняют уязвимость полностью. Обновление ядра должно быть приоритетной задачей.