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

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

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

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

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

Категории

Все категории
Loading categories
ovpn-kernel-backport — Исправление ядра OpenVPN от upstream для CVE-2026-74727, протестированное на ядре Ubuntu 7.0.0-38.38. Включает инструкции по сборке и результаты функциональных тестов. | Kitploit
Инструменты/GitHubGitHub/kosifuchs/ovpn-kernel-backport
Анализ уязвимостейАнализ КодаСетевая безопасностьСтатьи и Исследования
GitHubkosifuchs/ovpn-kernel-backport

ovpn-kernel-backport

Исправление ядра OpenVPN от upstream для CVE-2026-74727, протестированное на ядре Ubuntu 7.0.0-38.38. Включает инструкции по сборке и результаты функциональных тестов.

Репозиторий
1 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

Обзор бэкпорта модуля ядра OpenVPN

Документация локальной сборки, функциональных тестов, целевого обзора исходного кода и детерминированных регрессионных тестов инвариантов повторного хеширования VPN-IP и транспортных эндпоинтов для исправления из upstream, связанного с CVE-2026-74727, применительно к исходному пакету ядра Ubuntu linux 7.0.0-38.38 на x86_64. Тесты транспортных эндпоинтов также были пересобраны и запущены на локально собранном ядре Generic KASAN.

Атрибуция и область применения

Это обзор бэкпорта существующего исправления из upstream, а не вновь обнаруженная уязвимость и не оригинальное исправление безопасности. Записанный автор upstream — Antonio Quartulli. Записанный коммит — 33ec10567fe14456063daf549fdf1a4f53448e4c.

Патч upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=33ec10567fe14456063daf549fdf1a4f53448e4c

Изменение в drivers/net/ovpn/peer.c предотвращает повторное хеширование пира, который уже был удалён из хеш-таблицы идентификаторов пиров. При распространении сохраняйте оригинальные заголовки патча, авторство и лицензирование. Данная документация не меняет лицензию патча ядра.

Оригинальный патч upstream включён побайтово. Его SHA-256 совпадает с артефактом, использованным в записанной тестовой сессии. Его автор, сообщение коммита и изменения кода были сверены с публичным коммитом upstream на GitHub. Бинарные файлы не включены.

Записанные контрольные суммы

Контрольная сумма патча была независимо сверена с включённым файлом. Контрольная сумма модуля была записана во время тестовой сессии оператора; бинарный файл здесь не распространяется.

АртефактSHA-256
CVE-2026-74727-upstream.patchbaf0962c60b182776a86e040d2ec5b35eea2737c2e2eb6f17f87eb7d2fe47b24
Протестированный ovpn.ko0853fdce14ce1c4d64857871dc873bf98a1b8fe8243bf042ad6daffc906e6d27

Применение и сборка

Используйте отдельную извлечённую копию точного исходного пакета Ubuntu linux 7.0.0-38.38. Сначала установите соответствующие заголовки ядра и инструментарий сборки. Записанный компилятор — Ubuntu GCC 15.2.0-16ubuntu1, соответствующий компилятору работающего ядра.

Из корня исходного кода, при размещении патча в родительском каталоге:

patch --dry-run --batch --forward --fuzz=0 -p1 < ../CVE-2026-74727-upstream.patch
patch --batch --forward --fuzz=0 -p1 < ../CVE-2026-74727-upstream.patch
make -C /lib/modules/7.0.0-38-generic/build \
  M="$PWD/drivers/net/ovpn" CONFIG_OVPN=m \
  CC=x86_64-linux-gnu-gcc -j1 modules

Записанное применение патча использовало нулевой fuzz со смещениями строк -6 и -5. Сборка вернула код выхода 0. Генерация BTF была пропущена, поскольку vmlinux был недоступен. Vermagic модуля совпал с 7.0.0-38-generic SMP preempt mod_unload modversions.

Совпадение vermagic и успешная сборка не доказывают, что модуль безопасен или что уязвимость полностью подтверждена.

Записанные функциональные тесты

Тесты выполнялись вручную на виртуальной машине Ubuntu в Hyper-V с ядром 7.0.0-38-generic и отключённой Secure Boot. Результаты основаны на выводе терминала, предоставленном оператором:

  • Тестовый модуль загрузился, и его build-ID совпал с build-ID загруженного модуля.
  • Существующее соединение OpenVPN DCO успешно переподключилось.
  • Отдельное сетевое пространство имён поддерживало создание и удаление интерфейса MP.
  • Тестовый пир мог быть создан, запрошен, настроен и удалён.
  • Модифицированный тестовый CLI изменил VPN-адрес IPv4 тестового пира с 192.0.2.2 на 192.0.2.3; возвращённое состояние пира подтвердило изменение. Это было ограничено временным тестовым пространством имён и не изменило рабочий VPN-адрес.
  • Проверенный журнал ядра не содержал совпадающих сообщений BUG, Oops, KASAN, general protection fault или soft lockup. Присутствовали сообщения о taint из-за неподписанного модуля вне дерева.
  • Тестовые пространства имён были удалены, а дистрибутивный модуль перезагружен после тестирования. Рабочий VPN переподключился.

Детерминированный регрессионный тест перехеширования VPN-IP

6 октября 2026 года два автономных тестовых модуля выполнили фактическую функцию ovpn_peer_hash_vpn_ip(), извлечённую из непатченной резервной копии и патченного исходного кода. Приватные синтетические объекты оставались выделенными на протяжении всего времени. После имитации завершённого удаления из хеш-таблиц тест вызвал функцию снова под ovpn->lock.

СвойствоДо патчаПосле патча
Активный пир внесён в таблицы IPv4 и IPv6PASSPASS
Удалённый пир остаётся вне таблиц IPv4 и IPv6FAILPASS
Занятые корзины IPv4 / IPv6 после перехеширования удалённого пира1 / 10 / 0

Это проверка во время выполнения конкретного инварианта после удаления, а не воспроизведение гонки при конкурентном удалении или use-after-free. Нарушение инварианта в базовой версии ожидаемо и демонстрирует, что тест различает две версии функции. Оба модуля впоследствии были выгружены. Рабочий VPN оставался активным, его адрес не изменился. Проверенный интервал журнала содержал результаты тестов и не содержал совпадающих сообщений BUG, Oops, general protection fault или soft lockup.

См. TESTING.md для записанного вывода, инструкций по воспроизведению и ограничений. Генератор находится в tests/prepare-ovpn-rehash-regtest.py.

Детерминированный регрессионный тест транспортной конечной точки / float

6 октября 2026 года автономные тестовые модули также выполнили фактическую функцию ovpn_peer_endpoints_update(), извлечённую из непатченных и патченных исходников, с производственными вспомогательными функциями привязки. Как для IPv4, так и для IPv6 приватные синтетические заголовки пакетов заставили активный пир выполнить float, а затем вызвали ещё одно обновление конечной точки после удаления его записей из хеш-таблиц, при этом его хранилище оставалось выделенным.

Свойство, как для IPv4, так и для IPv6До патчаПосле патча
Активный пир выполняет float и остаётся в транспортной таблицеPASSPASS
Обновление конечной точки достигается после смоделированного удаленияPASSPASS
Удалённый пир остаётся вне транспортной таблицыFAILPASS
Занятые транспортные корзины после обновления удалённого пира10

Пакеты не передавались, реальные интерфейсы, VPN-пиры или адреса не изменялись. Оба тестовых модуля были впоследствии выгружены; рабочий VPN оставался активным, его адрес не изменился. Проверенный интервал журнала содержал четыре результата тестов и не содержал совпадающих строк BUG, Oops, general protection fault или soft lockup.

См. FLOAT-TESTING.md и tests/prepare-ovpn-float-regtest.py для описания области охвата, инструкций по воспроизведению и записанных результатов.

Дополнительный запуск KASAN и обзор исходного кода

06.10.2026 проверенный исходный код Ubuntu был собран как полное ядро с CONFIG_KASAN=y, CONFIG_KASAN_GENERIC=y, CONFIG_KASAN_OUTLINE=y и CONFIG_STACKTRACE=y. Строка релиза — 7.0.14-ovpn-kasan. Сборка ядра и модулей завершилась с кодом возврата 0. Виртуальная машина загрузилась с этим ядром, и её административная служба VPN была активна.

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