Tianji: Remote Code Execution via lodash template evaluate pattern in survey feed templates
What fixes it
- 1.31.29tianji, npmGitHub
npm install tianji@1.31.29
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 2
- tianjiaffected: < 1.31.29CVE List
- tianji, npm<= 1.31.28GitHub