Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2014-4943

Опубликовано: 16 июл. 2014
Источник: redhat
CVSS2: 7.2
EPSS Низкий

Уязвимость повышения привилегий в реализации PPPoL2TP в ядре Linux через различия структур данных между сокетами l2tp и inet

Описание

Обнаружена уязвимость в реализации PPP over L2TP в ядре Linux, связанная с тем, как функции pppol2tp_setsockopt() и pppol2tp_getsockopt() обрабатывали запросы с уровнем опций сокета, отличным от SOL_PPPOL2TP. Локальный пользователь без привилегий мог использовать эту уязвимость для повышения своих прав на системе.

Проблема затрагивает ядро Linux версий до 3.15.6 включительно.

Заявление

Данная проблема не затрагивает пакеты ядра Linux, поставляемые с Red Hat Enterprise Linux 5 и Red Hat Enterprise MRG 2.
Обратите внимание, что в Red Hat Enterprise Linux 6 модуль pppol2tp не загружается автоматически при создании сокета типа AF_PPPOX/PX_PROTO_OL2TP, так как в этой версии отсутствует коммит 9395a09d05a23bb из upstream, а также конфигурация modprobe по умолчанию не содержит псевдонимов для протокола pppol2tp. В результате модуль pppol2tp должен быть явно включен или загружен администратором системы.

Способы защиты

Для Red Hat Enterprise Linux 6 выполните:

# echo "install pppol2tp /bin/true" > /etc/modprobe.d/pppol2tp.conf

Для Red Hat Enterprise Linux 7 выполните:

# echo "install l2tp_ppp /bin/true" > /etc/modprobe.d/l2tp_ppp.conf

Альтернативно, если модуль pppol2tp/l2tp_ppp нельзя добавить в черный список и требуется его загрузка, можно использовать следующий скрипт SystemTap:

  1. На хосте сохраните следующий код в файл с расширением .stp:
probe module("*l2tp*").function("pppol2tp_*etsockopt").call { $level = 273; }
  1. Установите пакет systemtap и все необходимые зависимости. Информацию о установке требуемых -debuginfo пакетов см. в главе "2. Using SystemTap" документа "SystemTap Beginners Guide" для Red Hat Enterprise Linux 6, доступного на docs.redhat.com.
  2. Запустите команду stap -g [filename-from-step-1].stp от имени root. Если хост перезагружается, изменения будут потеряны, и скрипт необходимо запустить повторно.

Альтернативно, соберите скрипт SystemTap на системе разработки с помощью команды:

stap -g -p 4 [filename-from-step-1].stp

Распространите полученный модуль ядра на все затронутые системы и запустите его с помощью staprun -L. При использовании этого подхода на затронутых системах требуется только пакет systemtap-runtime. Обратите внимание, что версии ядра должны совпадать на всех системах.

Затронутые версии ПО

  • Ядро Linux до версии 3.15.6 (включительно)

Тип уязвимости

Повышение привилегий

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 5kernelNot affected
Red Hat Enterprise MRG 2realtime-kernelNot affected
Red Hat Enterprise Linux 6kernelFixedRHSA-2014:092423.07.2014
Red Hat Enterprise Linux 6.2 Advanced Update SupportkernelFixedRHSA-2014:102506.08.2014
Red Hat Enterprise Linux 6.4 Extended Update SupportkernelFixedRHSA-2014:092523.07.2014
Red Hat Enterprise Linux 7kernelFixedRHSA-2014:092323.07.2014

Показывать по

Дополнительная информация

Статус:

Important
https://bugzilla.redhat.com/show_bug.cgi?id=1119458kernel: net: pppol2tp: level handling in pppol2tp_[s,g]etsockopt()

EPSS

Процентиль: 77%
0.01034
Низкий

7.2 High

CVSS2

Связанные уязвимости

ubuntu
больше 11 лет назад

The PPPoL2TP feature in net/l2tp/l2tp_ppp.c in the Linux kernel through 3.15.6 allows local users to gain privileges by leveraging data-structure differences between an l2tp socket and an inet socket.

nvd
больше 11 лет назад

The PPPoL2TP feature in net/l2tp/l2tp_ppp.c in the Linux kernel through 3.15.6 allows local users to gain privileges by leveraging data-structure differences between an l2tp socket and an inet socket.

debian
больше 11 лет назад

The PPPoL2TP feature in net/l2tp/l2tp_ppp.c in the Linux kernel throug ...

github
больше 3 лет назад

The PPPoL2TP feature in net/l2tp/l2tp_ppp.c in the Linux kernel through 3.15.6 allows local users to gain privileges by leveraging data-structure differences between an l2tp socket and an inet socket.

oracle-oval
больше 11 лет назад

ELSA-2014-3048: unbreakable enterprise kernel security update (IMPORTANT)

EPSS

Процентиль: 77%
0.01034
Низкий

7.2 High

CVSS2