
CVE-2025-60374: Хранимый межсайтовый скриптинг (XSS) в чат-боте Perfex CRM
CVE-2025-60374: Хранимая межсайтовая XSS-уязвимость (Stored Cross-Site Scripting, XSS) в чат-боте Perfex CRM
⚠️ Уведомление о безопасности
Критическая уязвимость типа хранимый межсайтовый скриптинг (XSS) в функции чат-бота Perfex CRM
Уязвимость типа хранимый межсайтовый скриптинг (XSS) в компоненте чат-бота Perfex CRM до версии 3.3.1 позволяет злоумышленникам внедрять произвольный JavaScript-код через сообщения чата. Вредоносная нагрузка сохраняется в базе данных приложения и выполняется в браузерах пользователей, просматривающих диалог, что позволяет похищать токены сеанса, выполнять несанкционированные действия от имени жертв и реализовывать другие атаки на стороне клиента.
| Атрибут | Значение |
|---|---|
| CVE ID | CVE-2025-60374 |
| Тип | Хранимый межсайтовый скриптинг (XSS) |
| CWE | CWE-79 |
| Вектор атаки | Сетевой/удалённый |
| Аутентификация | Требуется (низкие привилегии) |
| Взаимодействие с пользователем | Отсутствует или минимальное |
| Обнаружил(а) | Ajansha Shankar |
Параметр сообщения чат-бота в Perfex CRM не имеет должной санитизации входных данных и кодирования вывода. Когда пользователи отправляют сообщения через интерфейс чат-бота, вредоносные HTML/JavaScript-нагрузки сохраняются в базе данных без надлежащей фильтрации и впоследствии отображаются без корректного экранирования, что приводит к выполнению кода в браузерах других пользователей.
HttpOnlydocument.cookie| Фактор | Воздействие | Объяснение |
|---|---|---|
| Конфиденциальность | 🔴 ВЫСОКИЙ | Могут быть похищены токены сеанса и чувствительные данные |
| Целостность | 🔴 ВЫСОКИЙ | Возможно выполнение несанкционированных действий от имени жертвы |
| Доступность | 🟡 НИЗКИЙ | Ограниченное влияние на доступность системы |
<button onclick=alert('Click executed!')>Click here</button>
<meter value=2 min=0 max=10 onmouseover=alert('XSS triggered!')>
2 out of 10
</meter>
Пример кражи cookie:
Эта нагрузка отправит сессионный cookie жертвы на сервер, контролируемый злоумышленником, что позволит полностью захватить учётную запись.
// Input Sanitization Example
$message = htmlspecialchars($input_message, ENT_QUOTES, 'UTF-8');
// Output Encoding Example
echo htmlspecialchars($stored_message, ENT_QUOTES, 'UTF-8');
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
setcookie('session', $value, [
'httponly' => true,
'secure' => true,
'samesite' => 'Strict'
]);
// Use DOMPurify, HTML Purifier, or similar
$clean_html = $purifier->purify($dirty_html);
Обнаружили: Ajansha Shankar , Ahamed Yaseen