Executive brief
UpTrain is an open-source platform for evaluating and improving generative AI applications. The `/new_run` endpoint fails to properly validate user input, allowing authenticated users to execute arbitrary code on the host system running UpTrain (typically a Docker container). This could allow an attacker with valid API credentials to take full control of the application infrastructure.
Technical details
The `/new_run` endpoint in UpTrain v0.7.1 and prior uses Python's `eval()` function to process the `checks` and `metadata` parameters without sanitization, leading to arbitrary code execution. The vulnerable code directly evaluates these form parameters: `checks = eval(checks[0])` and `metadata = eval(metadata)`. Exploitation requires a valid API key (authenticated access) and network access to the UpTrain dashboard. An attacker can craft malicious Python expressions in the `checks` or `metadata` fields to execute arbitrary code in the context of the running process. As of publication, no patch is available; the project appears to be unmaintained.
Affected products
- UpTrain UpTrain 0.7.1 and prior
Timeline
- 2024-09-05: disclosed: Issue opened in repository
- 2025-03-10: other: Project indicated to be unmaintained via Slack messages
- 2026-08-10: other: Fix attempt via pull request (status unknown)
- 2026-08-17: advisory: Public advisory published