Tautulli Remote Code Execution Vulnerability via Sandboxed eval() Bypass

Vulnerability

A remote code execution vulnerability exists in Tautulli versions prior to 2.17.0. The issue arises in the str_eval() function within notification_handler.py, where a sandboxed eval() for notification text templates is implemented. The sandbox attempts to restrict callable names by inspecting code.co_names of the compiled code object. However, this method is flawed, as co_names only includes names from the outer code object. When a lambda expression is utilized, it generates a nested code object, with attribute accesses stored in code.co_consts instead of co_names. Consequently, the sandbox fails to inspect nested code objects, allowing for exploitation.

Impact

Exploitation of this vulnerability allows for arbitrary OS command execution on the server where Tautulli is running.

Reproduction

To reproduce this vulnerability, enable the 'NOTIFY_TEXT_EVAL' feature in the Tautulli admin settings. Then, configure a notification template that includes a backtick-delimited lambda expression designed to access the 'os' module and execute a command, such as 'id'. Once the template is set, trigger a notification event, which will cause the eval sandbox to be bypassed and the specified OS command to be executed on the server.

Remediation

Users are advised to update Tautulli to version 2.17.0 or later, where this vulnerability has been patched.

Added: Mar 30, 2026, 8:36 PM
Updated: Mar 30, 2026, 8:36 PM

Vulnerability Rating

Custom Algorithm
spread
4.5
impact
10.0
exploitability
7.2
remediation
7.7
relevance
4.9
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.