Description
DataGerry before 3.3.0 contains a server-side template injection vulnerability that allows authenticated attackers with base.docapi.template.add permission to store arbitrary Jinja2 payloads in the template_data field via POST /rest/docapi/template, which is later rendered in a non-sandboxed Jinja2 environment when a user calls GET /rest/docapi/template/<id>/render/<object_id>. Attackers can exploit the standard cycler.__init__.__globals__.os gadget chain to execute arbitrary operating system commands as the DataGerry web process user, confirmed as root in default Docker deployments, achieving remote code execution.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| DataGerry | DataGerry | < 3.3.0 | 3.3.0 |
References
- DataGerry 3.3.0 Release Notes patch release-notes
- Changelog release-notes
- VulnCheck Advisory: DataGerry < 3.3.0 SSTI via DocAPI Template Rendering third-party-advisory