Horizon Alert
Summary of the vulnerability and why it matters
A critical vulnerability in Tianji, an open-source analytics and monitoring platform, allows for potential command execution, secret disclosure, data modification, or service disruption. This issue arises from how certain templates are processed, enabling an administrator to inject malicious code that can be executed on the server when an unauthenticated user submits a survey response.
- Code execution via survey templates.
- Affects server analytics and monitoring.
- Confirm relevance and exposure.
Attack Path
How an attacker could exploit the issue
An attacker could exploit this vulnerability by crafting a malicious survey or notification template that includes executable JavaScript code. This template could be stored and later rendered when an unauthenticated user submits a survey response. The server then processes this template, leading to the execution of the attacker's code within the Tianji Node.js process, potentially allowing for command execution and other severe impacts.
- Requires administrator to store malicious template.
- Public survey endpoint triggers template rendering.
- Allows command execution and secret disclosure.
Live Threat
Current exploitation, exposure, and threat context
When supported by the advisory, an unauthenticated user submitting a survey response could trigger server-side JavaScript execution in the Tianji Node.js process, potentially leading to command execution, disclosure of secrets, modification of data, or disruption of the service.
- Server-side JavaScript execution.
- Triggered via public survey submission.
- Could lead to data loss or disruption.
Operational Fix
Recommended remediation, mitigation, and detection steps
The Tianji platform's command execution vulnerability requires a workspace administrator to have previously configured specific template settings. This means platform or infrastructure teams managing Tianji instances should first confirm if the affected configurations are present and if the `survey.submit` endpoint is exposed externally. Once identified, the accountable owner must be determined to plan remediation, prioritizing critical and reachable instances.
- Platform owners should manage this issue.
- Verify `survey.submit` endpoint exposure.
- Plan remediation for exposed instances.