Изследователи по сигурността разкриха критична верига от уязвимости за отдалечено изпълнение на код (RCE) преди автентификация в CyberPanel, която може да позволи на атакуващите да получат достъп до команден интерпретатор (shell) на уязвимите хостинг сървъри без валидни идентификационни данни.
Атаката комбинира слаби места във функционалността на AI скенера на платформата със съхраняван междусайтов скриптинг (XSS) и злоупотреба с cron задачи. Проблемът засяга версии на CyberPanel, по-стари от 2.4.4.
CyberPanel е контролен панел за уеб хостинг за управление на уебсайтове, DNS, електронна поща, бази данни и сървърни услуги. Тъй като той служи като централна конзола за управление, успешното му компрометиране може да осигури на атакуващите широк достъп до хостваните среди.
Изследователите от Pentera идентифицираха веригата по време на анализ на хостинг панели с публичен достъп в интернет. Те установиха, че CyberPanel съдържа крайна точка на AI скенера без автентификация, предназначена да получава данни от сканиране от външна услуга.
Крайната точка приема контролирани от потребителя резултати от сканиране и ги съхранява в базата данни на приложението без правилно пречистване на съдържанието. Това създава уязвимост от тип съхраняван междусайтов скриптинг (XSS), проследявана като CVE-2026-41472.
Атакуващият може да вмъкне злонамерен JavaScript в подправен резултат от сканиране, но първоначално е изправен пред важно ограничение: заявката изисква валиден идентификатор на сканиране („scan_id“). Без легитимен идентификатор приложението отхвърля изпратения резултат.
Липсващото парче от пъзела е достъпна крайна точка на API за отстраняване на грешки (debug API), намираща се на адрес /api/ai-scanner/list-api-keys. Достъпът до нея е възможен без автентификация и тя връща информация за скорошни AI сканирания, включително валидни идентификатори на сканирания.
Този проблем с контрола на достъпа, проследяван като CVE-2026-41473, позволява на атакуващите да получат идентификатора, необходим за изпращане на злонамерения резултат от сканиране.
След получаване на валиден идентификатор на сканиране, атакуващият може да инжектира JavaScript в съхранения запис от сканирането. Злонамереният код не се изпълнява веднага. Вместо това той изчаква администратор на CyberPanel да отвори страницата с резултатите от AI скенера. Когато администраторът прегледа компрометирания резултат, скриптът се изпълнява в неговата автентифицирана браузърна сесия.
След това атакуващият код може да използва активната сесия на администратора и CSRF токена, за да извършва действия от негово име. Изследователите от Pentera демонстрираха, че скриптът може незабележимо да създаде нов администраторски акаунт. Това дава на киберпрестъпника валиден достъп до таблото за управление на CyberPanel, без да е необходимо да краде парола директно.
Последният етап включва функцията за управление на cron задачи на CyberPanel. След влизане с новия акаунт, атакуващият може да създаде уебсайт и свързан с него системен потребител, след което да злоупотреби с функцията за cron задачи, за да изпълни команда на сървъра. Изследователите установиха, че параметърът „cronCommand“ опасно позволява изпълнението на шел команди, което дава достъп до команден интерпретатор на сървъра.
Тази верига показва как няколко самостоятелно ограничени слаби места могат да се комбинират в пълно компрометиране на сървъра. Изложената крайна точка на API източва данни, съхраняваният XSS позволява злоупотреба с привилегии, а управлението на cron задачите дава възможност за изпълнение на команди.
Pentera съобщи за уязвимостите на CyberPanel на 4 май 2026 г. Екипът на CyberPanel бързо отстранява уязвимостта в рамките на около четири часа, като премахва крайните точки за отстраняване на грешки, добавя автентификация за функционалността за обратно повикване (callback) и ескейпва изходните данни.
Администраторите трябва незабавно да обновят CyberPanel до последната коригирана версия. Организациите, които не могат да инсталират корекциите за сигурност веднага, трябва да деактивират функцията за AI скенер и да ограничат достъпа до /api/ai-scanner/list-api-keys и /api/ai-scanner/test-auth, докато обновяването стане възможно.