SOCFortress CoPilot Jinja2 Template Injection Vulnerability
Worried this affects your website?
In SOCFortress CoPilot, a Jinja2 template injection vulnerability lets the lowest-privilege portal role, customer_user, upload case-report templates that are later executed by non-sandboxed Jinja2 engines when an admin or analyst generates a report. The issue affects versions prior to 0.1.76 and is fixed in 0.1.76.
The /case-report-template/upload route in backend/app/incidents/routes/db_operations.py validates only the filename-derived MIME type, not the template content. Templates share a global store without customer_code scoping, and customer_user can also list, download and delete them, allowing an attacker to replace a legitimate default template under the same name.
In backend/app/incidents/services/reports.py, render_document_with_context uses DocxTemplate without a sandbox; in backend/app/incidents/services/reports_pdf.py, render_html_template uses a non-sandboxed Environment without autoescaping. Normal privileged requests to POST /api/incidents/report/generate-report-docx or /generate-report-pdf therefore evaluate attacker-controlled Jinja expressions as Python on the backend.
- Reported deployment executes commands as root, exposing all tenants' incident and SIEM data and stored connector credentials.
- The HTML/PDF wkhtmltopdf renderer additionally permits local-file reads and requests to internal services.
Reference: CVE-2026-61707 on NVD
← Back to Security News