Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2017-5123 — эксплойт ядра Linux | Kitploit
Инструменты/GitHubGitHub/floatingguy/cve-2017-5123
Повышение привилегийАнализ уязвимостейЭксплуатацияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHubfloatingguy/cve-2017-5123

CVE-2017-5123

эксплойт ядра Linux

Репозиторий
14448 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2017-5123

Повышение привилегий в Linux с помощью системного вызова waitid. Эксплойт предоставлен @XeR_0x2A и @chaign_c из HexpressoTeam только для образовательных целей.
Ошибка была внесена 2017-05-21 и исправлена 2017-10-09; 4.14.0-rc4+ известен как уязвимый.

asciicast

Если у вас уровень начинающего или среднего разработчика эксплойтов, мы рекомендуем вам попробовать эксплуатировать её самостоятельно перед прочтением нашей реализации. Это очень хорошее упражнение с простым примитивом эксплуатации (произвольная запись в доступную для записи память ядра).
Мы также бросаем вызов @LiveOverflow попробовать.

Вот описание:

oss-security:
Привет,

Крис Сэллс (Chris Salls) обнаружил, что при рефакторинге системного вызова waitid() в ядре Linux v4.13 случайно перестала проверяться принадлежность входящего аргумента пространству пользователя. Это позволяло локальным злоумышленникам выполнять прямую запись в память ядра, что могло привести к повышению привилегий.

Внесено этим коммитом:
https://git.kernel.org/linus/4c48abe91be03d191d0c20cc755877da2cb35622

Исправлено этим коммитом в основной ветке:
https://git.kernel.org/linus/96ca579a1ecc943b75beba58bebb0356f6cc4b51

В ближайшее время исправление должно появиться в стабильной ветке (будущая версия v4.13.7):
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/log/?h=linux-4.13.y

Спасибо,

Спойлер!

waitid:
waitid -- ожидает изменения состояния дочернего процесса.

root@kitploit:~
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);

Ядро не проверяет, является ли infop указателем на пространство ядра или пользовательское пространство, поэтому мы можем перезаписывать память на любой странице памяти ядра с правами на запись. Забавно, что мы лишь частично контролируем то, что записывается.
Существует более тысячи способов эксплуатации этой уязвимости. Мы решили превратить этот примитив записи в разыменование нулевого указателя. Мы перезаписали переменную have_canfork_callback в секции .BSS ядра. Установка этой переменной в любое значение, отличное от 0 (истина), приводит к тому, что неинициализированный обратный вызов (null) «вызывается при создании новой задачи до того, как процесс станет видимым».

Спасибо Крису Сэллсу и @kees_cook за совместное раскрытие CVE.

Первый «реальный» эксплойт для ядра Linux от
@XeR_0x2A и
@chaign_c из
HexpressoTeam.

[email protected]
[email protected]

2017-10-22

Скачать инструмент