CVE-2014-0196
Linux Kernel
2023-05-12
Linux Kernel contains a race condition vulnerability within the n_tty_write function that allows local users to cause a denial-of-service (DoS) or gain privileges via read and write operations with long strings.
Технический анализ и план устранения
Суть уязвимости
CVE-2014-0196 представляет собой состояние гонки (race condition) в ядре Linux, возникающее в компоненте n_tty_write (драйвер псевдотерминалов TTY). Уязвимость проявляется при одновременной обработке операций записи и чтения длинных строк.
Из-за отсутствия надлежащей блокировки (locking) между процессами, записывающими данные в TTY, и процессом, обрабатывающим эхо-вывод, может произойти переполнение буфера в памяти ядра. Локальный злоумышленник может использовать это для: 1. Вызова отказа в обслуживании (Kernel Panic/DoS). 2. Повышения привилегий до уровня суперпользователя (root) путем перезаписи структур данных ядра.
Как исправить
Основным способом устранения является обновление ядра Linux до версии, в которой исправлена логика блокировок в подсистеме TTY.
- Обновите списки пакетов репозитория:
sudo apt-get update
- Установите последние доступные обновления безопасности для ядра (для Debian/Ubuntu):
sudo apt-get upgrade linux-image-generic
- Для систем RHEL/CentOS используйте менеджер пакетов yum:
sudo yum update kernel
- После обновления необходимо перезагрузить систему для инициализации нового ядра:
sudo reboot
- Проверьте версию ядра после перезагрузки (исправление включено в версии 3.14.3+, 3.10.40+, 3.4.90+, 3.2.58+):
uname -r
Временные меры
Если немедленное обновление ядра и перезагрузка невозможны, рекомендуется ограничить доступ к системе и минимизировать риски:
-
Ограничьте доступ к системе для недоверенных локальных пользователей, так как уязвимость требует возможности запуска произвольного кода локально.
-
Используйте системы принудительного контроля доступа (MAC), такие как SELinux или AppArmor, чтобы ограничить возможности эксплуатации, хотя это не гарантирует полную защиту от данной специфической ошибки ядра.
-
В критических случаях, где TTY не используется для интерактивного ввода, можно рассмотреть возможность настройки параметров терминала, однако это редко является практичным решением и полноценный патч ядра остается единственным надежным методом устранения.