PYSEC-2026-2184: Indico discloses local files resulting in Remote Code Execution through LaTeX injection
Indico is an event management system that uses Flask-Multipass, a multi-backend authentication system for Flask. In versions prior to 3.3.12, due to vulnerabilities in TeXLive and obscure LaTeX syntax that allowed circumventing Indico's LaTeX sanitizer, it is possible to use specially-crafted LaTeX snippets which can read local files or execute code with the privileges of the user running Indico on the server. Note that if server-side LaTeX rendering is not in use (ie XELATEXPATH was not set in indico.conf), this vulnerability does not apply. It is recommended to update to Indico 3.3.12 as soon as possible. It is also strongly recommended to enable the containerized LaTeX renderer (using podman), which isolates it from the rest of the system. As a workaround, remove the XELATEXPATH setting from indico.conf (or comment it out or set it to None) and restart the indico-uwsgi and indico-celery services to disable LaTeX functionality.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Indicoto a version that resolves this vulnerability.Fixed in 3.3.12 - Configuration
Remove or comment out XELATEX_PATH in indico.conf, or set it to None, then restart the indico-uwsgi and indico-celery services to disable LaTeX functionality.
Indico XELATEX_PATH = None - Configuration
Enable the containerized LaTeX renderer using podman to isolate LaTeX rendering from the rest of the system.
Indico LaTeX renderer containerized LaTeX renderer = enabled using podman