Descripción
Tianji es una plataforma de código abierto de analítica, monitoreo de disponibilidad y estado de servidores. En versiones anteriores a 1.31.29, formatString() en src/server/utils/template.ts pasa las plantillas feedTemplate de encuestas y de notificaciones de monitoreo a lodash template(), mientras el patrón evaluate predeterminado permanece habilitado. Un administrador del espacio de trabajo puede almacenar un bloque evaluate con la forma <% code %>, y el endpoint público survey.submit renderiza una plantilla de encuesta cuando un usuario no autenticado envía una respuesta. La plantilla compilada ejecuta JavaScript del lado del servidor en el proceso Node.js de Tianji, lo que permite la ejecución de comandos, la divulgación de secretos, la modificación de datos o la interrupción del servicio. Este problema está corregido en la versión 1.31.29.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- tianji Afectadas: < 1.31.29
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/msgbyte/tianji/security/advisories/GHSA-5grg-j3cr-3hpm
- Referencia en github.comgithub.com/msgbyte/tianji/commit/132ff67907df897d222829ea8ad1a018ff74…
- Referencia en github.comgithub.com/msgbyte/tianji/releases/tag/v1.31.29
Ver el texto original en inglés (CVE.org)
Tianji: Remote Code Execution via lodash template evaluate pattern in survey feed templates
Tianji is an open source analytics, uptime monitoring, and server status platform. Prior to 1.31.29, formatString() in src/server/utils/template.ts passes survey feedTemplate and monitor notification templates to lodash template(), while the default evaluate pattern remains enabled. A workspace administrator can store an evaluate block using the <% code %> form, and the public survey.submit endpoint renders a survey template when an unauthenticated user submits a response. The compiled template executes server-side JavaScript in the Tianji Node.js process, allowing command execution, secret disclosure, data modification, or service disruption. This issue is fixed in version 1.31.29.