CVE-2026-84164 XSS almacenado en la exportación de informes HTML estáticos de CodeChecker por json.dumps sin escapar
El informe HTML generado por plist-to-html, CodeChecker parse --export html y CodeChecker cmd diff --output html inserta el mensaje, el nombre del checker y la ruta del archivo fuente en un bloque script mediante json.dumps, que no escapa el carácter menor que. Una etiqueta de cierre de script en esos campos termina el elemento y lo siguiente se interpreta como HTML, lo que permite ejecutar scripts en el navegador de quien visualiza el informe.
CVSS 4.0
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 19
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
Ericsson CodeChecker
hasta antes de 6.29.3
Qué hacer
- Verificá si usás CodeChecker y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 4.0 · 0.0 NINGUNA
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataqueNinguno
- Privilegios requeridosAltos
- Interacción del usuarioPasiva
- Confidencialidad (sistema vulnerable)Ninguna
- Integridad (sistema vulnerable)Ninguna
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
The HTML report that plist-to-html, CodeChecker parse --export html and CodeChecker cmd diff --output html generate puts the report message, the checker name and the source file path into a script block through json.dumps. json.dumps does not escape the less-than character, so a closing script tag in any of those three fields ends the script element and what follows is parsed as HTML.
The input author is whoever controls the analysed tree or a third-party result file that report-converter ingests, or who holds PRODUCT_STORE in the cmd diff flow. The viewer is somebody else: docs/jenkins_gerrit_integration.md documents writing the report into Jenkins userContent and posting its URL into a Gerrit review. One caveat worth stating up front is that Jenkins serves userContent under a restrictive CSP that would block an inline handler, so that destination is probably safe as configured. The generated report sets no CSP of its own, so the impact lands wherever it is published without one.
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.