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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-41940-analysis — Технический анализ обхода аутентификации cPanel/WHM | Kitploit
Инструменты/GitHubGitHub/oguz-kagan-akar/cve-2026-41940-analysis
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияВеб-безопасностьРазведка угрозСтатьи и ИсследованияОбучение и ОбразованиеРеагирование на Инциденты

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
oguz-kagan-akar/cve-2026-41940-analysis

CVE-2026-41940-analysis

Технический анализ обхода аутентификации cPanel/WHM

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

CVE-2026-41940 — Обход аутентификации до входа в cPanel и WHM с получением прав root через CRLF-инъекцию в файл сессии

Технический детальный анализ с точки зрения защиты


1. Краткое описание

ПолеЗначение
CVE IDCVE-2026-41940
CVSS v3.19.8 (Критический) — Сеть / Низкая сложность / Без привилегий / Без взаимодействия с пользователем
Класс уязвимостиCRLF-инъекция до аутентификации → отравление файла сессии → обход аутентификации
CWECWE-93 (Некорректная нейтрализация CRLF-последовательностей), можно также отнести к CWE-117 (Некорректная нейтрализация вывода для журналов/файлов), поскольку внедрённые CRLF попадают в файл сессии на диске, а не в заголовок HTTP-ответа
Затронутые продуктыcPanel, WHM (WebHost Manager), WP Squared
ВоздействиеНеаутентифицированное удалённое получение полностью привилегированной root-административной сессии в WHM
Дата раскрытия28 апреля 2026 г. (уведомление безопасности cPanel)
Назначение CVE29 апреля 2026 г.
Эксплуатация в реальных условияхНаблюдается уже с 23 февраля 2026 г., согласно провайдеру хостинга KnownHost — примерно за два месяца до выпуска исправления
CISA KEVДобавлено вскоре после раскрытия
Предполагаемое количество подверженных систем~1,5 миллиона экземпляров cPanel, доступных из интернета (данные Shodan, указанные Rapid7); по оценкам W3Techs, cPanel занимает около 94% рынка панелей управления веб-хостингом
Обходной путьОтсутствует — единственная полная мера устранения — установка обновления

cPanel и WHM — доминирующее программное обеспечение панелей управления для общего и реселлерского веб-хостинга. cPanel — это интерфейс учётной записи клиента; WHM — это административный интерфейс уровня root, используемый хостинг-провайдерами и владельцами серверов. Обе панели обслуживаются одним и тем же Perl-демоном cpsrvd, который слушает парные порты для каждого интерфейса (cPanel: 2082/2083, WHM: 2086/2087, Webmail: 2095/2096).

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


2. Почему эта уязвимость важнее, чем её оценка CVSS

Оценка 9.8 по CVSS встречается достаточно часто, чтобы к ней можно было привыкнуть. Три структурных фактора делают CVE-2026-41940 на практике необычно серьёзной:

  1. Радиус поражения — весь сервер, а не одна учётная запись. Компрометация WHM — это компрометация root. Каждая клиентская учётная запись, каждая база данных, каждый закрытый ключ TLS, каждая резервная копия и каждая DNS-зона на этом сервере немедленно оказываются под угрозой.

  2. Это была настоящая уязвимость нулевого дня в течение примерно двух месяцев. Телеметрия KnownHost указывает на начало эксплуатации около 23 февраля 2026 года, задолго до выхода патча 28 апреля. Любая организация, чьи системы были доступны из интернета в этот период, должна исходить из возможной (а не просто теоретической) компрометации и провести ретроспективную оценку, а не полагаться на «мы установили патч, значит, всё в порядке».

  3. Большинство затронутых организаций не могут самостоятельно установить это исправление. cPanel обычно развёртывается хостинг-провайдерами от имени арендаторов. Конечные клиенты не имеют контроля над исправлением на уровне кода и полностью зависят от графика обновлений своего провайдера — именно поэтому несколько крупных хостеров (Namecheap, KnownHost, HostPapa, InMotion) решили превентивно блокировать входящий трафик на затронутые порты, а не ждать обновления от каждого арендатора.

На этом третьем пункте стоит остановиться подробнее. По оценкам, cPanel контролирует около 94% рынка панелей управления. Единственная логическая ошибка в коде обработки сессий одного вендора на несколько недель превратилась в де-факто общеотраслевую уязвимость получения root-доступа. Этот риск концентрации — повторяющаяся тема, которую стоит осознать независимо от данной конкретной CVE.


3. Архитектурные основы

3.1 cpsrvd и модель портов

cpsrvd — это долгоживущий Perl-демон, который обслуживает все три интерфейса продуктов cPanel из одного и того же бинарного файла и, что критично, из одного и того же кода обработки сессий:

Пара портовИнтерфейсАудитория
2082 / 2083cPanelКонечные клиенты (на учётную запись)
2086 / 2087WHMАдминистраторы root/реселлеры
2095 / 2096WebmailПользователи электронной почты

Поскольку все три интерфейса используют уязвимую логику сессий, доступ к любому из этих шести портов достаточен для эксплуатации — среди них нет «менее подверженного» интерфейса. В хорошо сегментированных средах ни один из этих портов изначально не должен быть напрямую доступен из интернета; на практике удобство управления, гибридные схемы хостинга и «расползание» правил межсетевого экрана приводят к тому, что многие из них оказываются открытыми.

3.2 Двойное представление сессии

Сессии cPanel сохраняются в двух параллельных представлениях на диске, по-видимому, по соображениям производительности:

  1. Необработанный файл сессии (/var/cpanel/sessions/raw/<session-id>) — построчный текстовый формат ключ=значение, один атрибут на строку.
  2. JSON-кэш (/var/cpanel/sessions/cache/<session-id>, концептуально) — структурированный JSON-документ, который при обычной обработке запросов читается преимущественно, поскольку его парсинг дешевле.

При нормальной работе JSON-кэш является авторитетным, а необработанный файл — резервной копией для долговечности. Уязвимость существует именно потому, что существуют обстоятельства, при которых необработанный файл повторно разбирается и используется для восстановления JSON-кэша, а два формата по-разному интерпретируют значение встроенного символа новой строки.


4. Первопричина: четыре независимые ошибки, объединяющиеся в цепочку

CVE-2026-41940 — это не единичная ошибка. Это результат четырёх отдельных слабостей, каждая из которых по отдельности могла бы быть объяснима как изолированное проектное решение, которые вместе образуют полный обход аутентификации. Эта структура «швейцарского сыра» поучительна для специалистов по защите и аудиторов кода далеко за пределами данного конкретного продукта.

4.1 Уровень 1 — Очистка, обеспечиваемая соглашением, а не самим путём записи

Подсистема сессий cPanel уже содержала процедуру очистки, отвечающую за удаление опасных символов — возвратов каретки, перевода строки и = — из значений сессии перед их сохранением. Проблема заключается в том, откуда эта процедура вызывалась: она находилась внутри функций-обёрток более высокого уровня (API «создания»/«изменения» сессии), и именно вызывающий код должен был использовать эти обёртки, а не записывать данные сессии напрямую.

Обработчик HTTP Basic Authentication внутри cpsrvd — путь кода, который принимает учётные данные непосредственно из HTTP-заголовка Authorization, — сохранял введённый пароль в файл сессии до аутентификации через низкоуровневую функцию сохранения, которая обходила очищающую обёртку. Поскольку очистка была опциональной, а не обязательной на этапе записи на диск, этот конкретный вызывающий код молча её пропустил.

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