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

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

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

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

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

Категории

Все категории
Loading categories
ubuntu-cve-2026 — Shell-скрипт, который собирает пропатченные .deb-пакеты ядра Ubuntu, содержащие исправление kfree_rcu из upstream для use-after-free в IPv4 CVE-2026-98432. | Kitploit
Инструменты/GitHubGitHub/c4dt/ubuntu-cve-2026
Оборонительные ИнструментыАнализ уязвимостейЭксплуатацияУтилиты и фреймворки
GitHubc4dt/ubuntu-cve-2026

ubuntu-cve-2026

Shell-скрипт, который собирает пропатченные .deb-пакеты ядра Ubuntu, содержащие исправление kfree_rcu из upstream для use-after-free в IPv4 CVE-2026-98432.

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

Популярное

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

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

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

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

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

Патченное ядро Ubuntu для CVE-2026-98432

build-patched-kernel.sh собирает пакеты ядра Ubuntu .deb, которые включают исправление из upstream для CVE-2026-98432:

e3f33b0a1d89 "ipv4: free inet_opt and ireq_opt after an RCU grace period"

Ошибка — это use-after-free в ip_options_build(). Один CPU всё ещё может отправлять SYNACK, пока другой освобождает опции IPv4 TCP-сокета. Исправление заменяет два вызова kfree() на kfree_rcu() в net/ipv4/af_inet.c и net/ipv4/tcp_ipv4.c.

Что делает скрипт

  1. Берёт версию ядра из первого аргумента или из uname -r, если аргумент не указан (например, 6.8.0-45-generic).
  2. Включает репозитории deb-src и устанавливает компилятор и инструменты сборки.
  3. Скачивает исходный пакет Ubuntu, из которого было собрано это ядро, с помощью apt-get source. Если в архиве больше нет этой версии, он переключается на pull-lp-source из Launchpad. Затем устанавливает зависимости сборки.
  4. Применяет исправление. Он заменяет две строки напрямую, а не применяет upstream-дифф, потому что окружающий код различается между ядрами Ubuntu. На ядрах старше 5.7, где kfree_rcu() не принимает NULL, он добавляет проверку на NULL.
  5. Добавляет +cve202698432.1 к версии пакета, чтобы новые пакеты обновляли пакеты из архива с тем же ABI.
  6. Собирает с помощью debian/rules Ubuntu и копирует файлы .deb в ./debs-<version>/.

Повторный запуск скрипта использует уже скачанные исходники и не патчит их дважды.

Использование

На самой машине с Ubuntu (запускать от root или через sudo):

./build-patched-kernel.sh                    # kernel from uname -r
./build-patched-kernel.sh 6.8.0-45-generic   # a specific kernel

В Docker используйте выпуск Ubuntu, соответствующий ядру (noble для 6.8, jammy для 5.15). Указывайте версию явно, потому что uname -r внутри контейнера показывает ядро хоста:

docker run --rm -v "$PWD":/work -w /work -e WORKDIR=/build ubuntu:24.04 \
    ./build-patched-kernel.sh 6.8.0-45-generic

WORKDIR=/build держит исходники ядра внутри контейнера. Это нужно, когда смонтированный каталог нечувствителен к регистру, как на macOS. Другие параметры (OUTDIR, LOCAL_SUFFIX, SRC_PACKAGE/SRC_VERSION, JOBS) описаны в начале скрипта.

Установка

sudo apt install ./debs-<version>/linux-image-unsigned-<version>_*.deb \
                 ./debs-<version>/linux-modules-<version>_*.deb \
                 ./debs-<version>/linux-modules-extra-<version>_*.deb \
                 ./debs-<version>/linux-headers-*.deb
sudo reboot

Образ ядра неподписанный и заменяет подписанный пакет linux-image-<version>. Если включена Secure Boot, либо подпишите образ своим ключом MOK, либо отключите Secure Boot.

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