Tautulli — это инструмент мониторинга и отслеживания на основе Python для Plex Media Server. До версии 2.17.0 функция str_eval() в Notification_handler.py реализовала изолированную функцию eval() для текстовых шаблонов уведомлений. Песочница пытается ограничить вызываемые имена, проверяя code.co_names объекта скомпилированного кода.
Однако co_names содержит только имена из объекта внешнего кода. Когда используется лямбда-выражение, оно создает вложенный объект кода, доступ к атрибутам которого хранится в code.co_consts, а НЕ в code.co_names. Песочница никогда не проверяет вложенные объекты кода.
Эта проблема исправлена в версии 2.17.0.
Показать оригинальное описание (EN)
Tautulli is a Python based monitoring and tracking tool for Plex Media Server. Prior to version 2.17.0, the str_eval() function in notification_handler.py implements a sandboxed eval() for notification text templates. The sandbox attempts to restrict callable names by inspecting code.co_names of the compiled code object. However, co_names only contains names from the outer code object. When a lambda expression is used, it creates a nested code object whose attribute accesses are stored in code.co_consts, NOT in code.co_names. The sandbox never inspects nested code objects. This issue has been patched in version 2.17.0.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Tautulli Tautulli
cpe:2.3:a:tautulli:tautulli:*:*:*:*:*:*:*:*
|
— |
2.17.0
|