
Proof-of-concept эксплойт для CVE-2026-41940, цепочки обхода аутентификации в WHM/cPanel. Многопоточный сканер, который меняет пароль root на уязвимых целях. Только для авторизованного тестирования.
Этот репозиторий содержит скрипт Proof-of-Concept (PoC), основанный на цепочке обхода аутентификации cPanel/WHM (через cookie whostmgrsession и HTTP-заголовки). После успешного проникновения скрипт изменяет пароль root и записывает результат в файл.
Используйте это программное обеспечение только на системах, на которые у вас есть явное разрешение (собственная лабораторная среда, контрактный пентест, одобренное вендором тестирование безопасности). Несанкционированный доступ является преступлением в большинстве стран. Этот README предназначен исключительно для исследований в области безопасности и повышения осведомлённости о защите; авторы не несут ответственности за злоупотребление.
targets.txt)https/login), утечка /cpsess через CRLF-инъекцию, триггер do_token_denied, проверка через /json-api/versionres.txtHost (сценарии с обратным прокси / виртуальным хостингом)ThreadPoolExecutor)#!/usr/bin/env python2.7 — скрипт использует синтаксис Python 2 и urllib / urlparse)requirements.txtpip install -r requirements.txt
Примечание: В Python 2 для concurrent.futures требуется пакет futures (указан в файле). Для переноса скрипта на Python 3 необходимо адаптировать различия в urllib, urlparse, print, unicode/str и подобные; в этом репозитории это не сделано.
python CVE-2026-41940.py <файл_списка_целей> [--hostname CANONICAL_HOST] [--threads N] [--timeout СЕКУНДЫ]
Вывод:
res.txt в формате URL и информации о сессииAuthorization / cookie и неожиданных перенаправлений.├── CVE-2026-41940.py # Основной скрипт
├── requirements.txt # pip-зависимости
└── README.md
Смена паролей на производственных системах после проникновения несёт риск потери данных и прерывания обслуживания. Тестируйте в изолированных лабораторных средах, не относящихся к производству, и только с письменного разрешения; делитесь полученными результатами через процессы скоординированного раскрытия (coordinated disclosure).
| Аргумент | Описание |
|---|
list_file | Одна цель на строку (хост или URL; если http:// отсутствует, добавляется https://) |
--hostname | Принудительно использует каноническое имя для Host: и связанной логики во всех запросах |
--threads | Количество одновременных потоков (по умолчанию: 15) |
--timeout | Тайм-аут соединения в секундах (по умолчанию: 15) |