
CVE-2025-60374: Gespeichertes Cross-Site-Scripting (XSS) im Perfex CRM Chatbot
CVE-2025-60374: Gespeichertes Cross-Site-Scripting (XSS) im Perfex-CRM-Chatbot
⚠️ Sicherheitshinweis
Eine kritische Schwachstelle für gespeichertes Cross-Site-Scripting in der Chatbot-Funktion von Perfex CRM
Eine Schwachstelle für gespeichertes Cross-Site-Scripting (XSS) in der Chatbot-Komponente von Perfex CRM vor Version 3.3.1 ermöglicht es Angreifern, beliebigen JavaScript-Code über Chatnachrichten einzuschleusen. Die bösartige Nutzlast wird in der Anwendungsdatenbank gespeichert und in den Browsern der Benutzer ausgeführt, die die Chat-Konversation ansehen, was den Diebstahl von Sitzungstokens, unbefugte Aktionen im Namen der Opfer und andere clientseitige Angriffe ermöglicht.
| Attribut | Wert |
|---|---|
| CVE-ID | CVE-2025-60374 |
| Typ | Gespeichertes Cross-Site-Scripting (XSS) |
| CWE | CWE-79 |
| Angriffsvektor | Netzwerk/Remote |
| Authentifizierung | Erforderlich (niedrige Berechtigungen) |
| Benutzerinteraktion | Keine bis minimal |
| Entdecker | Ajansha Shankar |
Der Nachrichtenparameter des Chatbots in Perfex CRM weist keine ordnungsgemäße Eingabebereinigung und Ausgabekodierung auf. Wenn Benutzer Nachrichten über die Chatbot-Oberfläche übermitteln, werden bösartige HTML/JavaScript-Nutzlasten ohne ausreichende Filterung in der Datenbank gespeichert und anschließend ohne ordnungsgemäßes Escaping gerendert, was zur Codeausführung in den Browsern anderer Benutzer führt.
HttpOnly markiertdocument.cookie stehlen| Faktor | Auswirkung | Erklärung |
|---|---|---|
| Vertraulichkeit | 🔴 HOCH | Sitzungstokens und vertrauliche Daten können gestohlen werden |
| Integrität | 🔴 HOCH | Unbefugte Aktionen können im Namen des Opfers ausgeführt werden |
| Verfügbarkeit | 🟡 NIEDRIG | Begrenzte Auswirkung auf die Systemverfügbarkeit |
<button onclick=alert('Click executed!')>Click here</button>
<meter value=2 min=0 max=10 onmouseover=alert('XSS triggered!')>
2 out of 10
</meter>
Beispiel für Cookie-Diebstahl:
Diese Nutzlast würde das Sitzungscookie des Opfers an einen vom Angreifer kontrollierten Server senden und so eine vollständige Kontenübernahme ermöglichen.
// 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);
Entdeckt von: Ajansha Shankar , Ahamed Yaseen