CVE-2026-55240
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-55240",
"sourceIdentifier": "[email protected]",
"published": "2026-10-15T19:17:40.290",
"lastModified": "2026-10-28T20:18:08.730",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "msgbyte",
"product": "tianji",
"versions": [
{
"version": "< 1.31.29",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "HIGH",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.3,
"impactScore": 6.0
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-10-28T20:04:51.050574Z",
"id": "CVE-2026-55240",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-1336"
}
]
}
],
"references": [
{
"url": "https://github.com/msgbyte/tianji/commit/132ff67907df897d222829ea8ad1a018ff74df48",
"source": "[email protected]"
},
{
"url": "https://github.com/msgbyte/tianji/releases/tag/v1.31.29",
"source": "[email protected]"
},
{
"url": "https://github.com/msgbyte/tianji/security/advisories/GHSA-5grg-j3cr-3hpm",
"source": "[email protected]"
},
{
"url": "https://github.com/msgbyte/tianji/security/advisories/GHSA-5grg-j3cr-3hpm",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}