Одноразовое обнаружение и устранение последствий для серверов cPanel/WHM, скомпрометированных через CVE-2026-41940, включая проверки IOC, очистку от вредоносного ПО, блокировку C2 и установку исправлений.
Одношаговое обнаружение и устранение последствий для серверов cPanel/WHM, скомпрометированных через CVE-2026-41940 и кампанию ботнета
nuclear.x86.
28 апреля 2026 года cPanel раскрыла информацию об уязвимости обхода аутентификации без предварительной аутентификации (CVE-2026-41940, CVSS 9.8), затрагивающей все поддерживаемые версии cPanel и WHM после 11.40. Один HTTP-запрос к порту 2087 позволяет неаутентифицированному злоумышленнику внедрить сессию user=root и получить прямой доступ к WHM.
Эксплуатация наблюдается в дикой природе как минимум с 23 февраля 2026 года — за шесть недель до выхода патча. Кампания, которую мы устраняли на нескольких серверах, устанавливает Linux-ботнет под названием nuclear.x86 вместе с крипто-майнером на базе XMRig.
Этот репозиторий содержит один Bash-скрипт, который:
/scripts/upcp --forceСкрипт предназначен для хостинг-провайдеров, системных администраторов и реселлеров cPanel, которым необходимо быстро провести триаж парка серверов.
Если wget или curl возвращают Killed при попытке загрузки, вредоносное ПО всё ещё работает — nuclear.x86 активно убивает инструменты загрузки, чтобы предотвратить очистку. Сначала выполните шаг уничтожения (скрипт делает это за вас в режиме --fix).
Если вы не можете загрузить этот скрипт по этой причине, скопируйте и вставьте его через SSH с вашего ноутбука или используйте scp.
# От root, на сервере cPanel:
cd /root
wget https://raw.githubusercontent.com/shahidmallaofficial/cpanel-cve-2026-41940-fix/main/fix-cpanel-cve-2026-41940.sh
chmod +x fix-cpanel-cve-2026-41940.sh
Или с помощью curl:
cd /root
curl -fsSLO https://raw.githubusercontent.com/shahidmallaofficial/cpanel-cve-2026-41940-fix/main/fix-cpanel-cve-2026-41940.sh
chmod +x fix-cpanel-cve-2026-41940.sh
Одной строкой (сначала просмотрите скрипт, затем запускайте):
cd /root && \
curl -fsSLO https://raw.githubusercontent.com/shahidmallaofficial/cpanel-cve-2026-41940-fix/main/fix-cpanel-cve-2026-41940.sh && \
chmod +x fix-cpanel-cve-2026-41940.sh && \
less fix-cpanel-cve-2026-41940.sh
# После просмотра запустите его:
./fix-cpanel-cve-2026-41940.sh
Проверьте перед запуском. Этот скрипт выполняется от root и изменяет состояние системы. Откройте и прочитайте его сначала. Не передавайте случайные скрипты из интернета напрямую в
bash.
# 1. Только сканирование (по умолчанию, без изменений — всегда безопасно запускать)
./fix-cpanel-cve-2026-41940.sh
# 2. Сканирование + устранение последствий, с запросом подтверждения для каждого деструктивного действия
./fix-cpanel-cve-2026-41940.sh --fix
# 3. Полная автоматизация: исправление + обновление cPanel + очистка кэша + лёгкое усиление защиты
./fix-cpanel-cve-2026-41940.sh --auto
# 4. Без участия оператора (без запросов — для cron, jump-box, скриптов управления парком)
./fix-cpanel-cve-2026-41940.sh --auto -y
# 5. Справка
./fix-cpanel-cve-2026-41940.sh --help
| Код | Значение |
|---|---|
0 | Чисто — IOC не обнаружены |
2 | Обнаружены индикаторы компрометации (просмотрите отчёт) |
1 / другие | Ошибка предварительной проверки (не root, не сервер cPanel и т. д.) |
/var/log/cpanel-cve-fix/scan-<TIMESTAMP>.log/var/log/cpanel-cve-fix/report-<TIMESTAMP>.txt/root/cve-cleanup-backup-<TIMESTAMP>/| № | Проверка | Что обнаруживает |
|---|---|---|
| 1 | Сборка cPanel против пропатченных релизов | Уязвимые хосты (перечисляет все 6 пропатченных сборок) |
| 2 | Запущенные процессы | nuclear.x86, xmrig, cpuminer, minerd, xmr-stak, 4thepool_miner |
| 3 | Активные сетевые соединения | Три известных C2-IP + порты майнинг-пулов |
| 4 | Файлы истории команд | IOC-команды в bash_history / zsh_history |
| 5 | Проверка межсетевого экрана | Шаг саботажа iptables -F |
| 6 | Каталог сырых сессий cPanel | Поддельные файлы сессий user=root |
| 7 | /tmp, /var/tmp, /dev/shm | Недавно размещённые исполняемые файлы |
| 8 | Записи cron | Персистентность (системная + для каждого пользователя) |
| 9 | Файлы authorized_keys | Новые SSH-ключи — аудит только на чтение |
| 10 | Журналы доступа cPanel | Сигнатуры эксплойта Go-http-client / python-requests |
| 11 | Критически важные бинарники | Изменённые wget / curl / ls / ps (проверка mtime + RPM) |
/var/cpanel/sessions/raw/* (с предварительным резервным копированием в tar.gz)cpsrvd, cpdavd, cphulkd, queueprocd, dnsadmin/scripts/upcp --force (только в --auto)rndc flush), старые журналыLF_INTEGRITY, если доступноЭти действия принесли бы больше вреда, чем пользы, при запуске без участия оператора через SSH, поэтому они попадают в отчёт о ручных действиях:
/home/*/public_htmlДля массовой проверки множества серверов с jump-box:
mkdir -p reports
while read -r host; do
echo "=== $host ==="
scp fix-cpanel-cve-2026-41940.sh "root@${host}:/root/" >/dev/null
ssh "root@${host}" '/root/fix-cpanel-cve-2026-41940.sh --auto -y'
scp "root@${host}:/var/log/cpanel-cve-fix/report-*.txt" "reports/${host}.txt" 2>/dev/null
done < servers.txt
Затем выполните поиск по отчётам:
grep -l "COMPROMISE INDICATORS PRESENT" reports/*
Скрипт перечислит их в своём отчёте. Ни одно из них нельзя безопасно автоматизировать.