🔍 Наиболее интересные уязвимости
🐛 CVE-2026-54910, обнаруженная в FileBrowser Quantum до версии 1.4.3-beta, приводит к Path Traversal. Проблема заключалась в том, что эндпоинт GET /api/media/subtitles использовал переданные пользователем параметры path и name при работе с файловой системой без проверки, что позволяло любому авторизованному пользователю читать доступные процессу сервера файлы, включая ключи, учётные данные и конфигурацию. В исправлении разработчики отказались от непосредственного построения пути по входным параметрам: сначала запрашивается информация о доступном пользователю видеофайле и его субтитрах, после чего имя файла берётся из найденной записи, очищается через filepath.Base() и объединяется с директорией разрешённого видеофайла.
🐛 CVE-2026-17497, обнаруженная в NoteGen до версии 0.32.0, приводит к OS Command Injection. Проблема заключалась в том, что приложение по умолчанию разрешало Tauri-плагину shell запускать bash, python и python3 с произвольными аргументами, что позволяло злоумышленнику вызвать plugin:shell|execute и выполнить произвольные команды операционной системы с правами процесса NoteGen. В исправлении разработчики удалили из конфигурации разрешения на выполнение произвольных команд через Tauri Shell Plugin.
🐛 CVE-2026-47752, обнаруженная в Tugtainer до версии 1.30.2, приводит к Server-Side Template Injection (SSTI). Проблема заключалась в том, что поля title_template и body_template обрабатывались обычным окружением jinja2.Environment без изоляции опасных возможностей шаблонизатора, что позволяло авторизованному пользователю получить доступ к объектам Python и выполнить произвольные команды операционной системы с правами root внутри контейнера. В исправлении разработчики заменили jinja2.Environment на SandboxedEnvironment, ограничивающее доступ шаблонов к опасным атрибутам, методам и объектам Python.
🐛 CVE-2026-57531, обнаруженная в Milkdown до версии 7.21.3, приводит к Cross-site Scripting (XSS). Проблема заключалась в том, что обработчик parseDOM.getAttrs сохранял содержимое HTML-элемента span с атрибутом data-type="emoji" без очистки, а при последующей сериализации в Markdown это значение напрямую записывалось в innerHTML, что позволяло злоумышленнику внедрить вредоносный HTML- или JavaScript-код, который выполнялся при обработке вставленного содержимого. В исправлении разработчики добавили очистку HTML перед записью в DOM и исключили использование необработанного содержимого при сериализации.
🐛 CVE-2026-65919, обнаруженная в Meshery до версии 1.0.57, приводит к Path Traversal. Проблема заключалась в том, что эндпоинты /api/system/fileView и /api/system/fileDownload передавали полученный от пользователя параметр file напрямую в os.Open() без проверки пути, что позволяло злоумышленнику прочитать любой файл, доступный процессу Meshery. В исправлении разработчики добавили функцию SafeOpenFile(), которая разрешает чтение только из каталогов журналов ~/.meshery/logs, проверяет нахождение итогового пути внутри разрешённой директории и открывает файл через os.OpenRoot().
🐛 CVE-2026-54910, обнаруженная в FileBrowser Quantum до версии 1.4.3-beta, приводит к Path Traversal. Проблема заключалась в том, что эндпоинт GET /api/media/subtitles использовал переданные пользователем параметры path и name при работе с файловой системой без проверки, что позволяло любому авторизованному пользователю читать доступные процессу сервера файлы, включая ключи, учётные данные и конфигурацию. В исправлении разработчики отказались от непосредственного построения пути по входным параметрам: сначала запрашивается информация о доступном пользователю видеофайле и его субтитрах, после чего имя файла берётся из найденной записи, очищается через filepath.Base() и объединяется с директорией разрешённого видеофайла.
🐛 CVE-2026-17497, обнаруженная в NoteGen до версии 0.32.0, приводит к OS Command Injection. Проблема заключалась в том, что приложение по умолчанию разрешало Tauri-плагину shell запускать bash, python и python3 с произвольными аргументами, что позволяло злоумышленнику вызвать plugin:shell|execute и выполнить произвольные команды операционной системы с правами процесса NoteGen. В исправлении разработчики удалили из конфигурации разрешения на выполнение произвольных команд через Tauri Shell Plugin.
🐛 CVE-2026-47752, обнаруженная в Tugtainer до версии 1.30.2, приводит к Server-Side Template Injection (SSTI). Проблема заключалась в том, что поля title_template и body_template обрабатывались обычным окружением jinja2.Environment без изоляции опасных возможностей шаблонизатора, что позволяло авторизованному пользователю получить доступ к объектам Python и выполнить произвольные команды операционной системы с правами root внутри контейнера. В исправлении разработчики заменили jinja2.Environment на SandboxedEnvironment, ограничивающее доступ шаблонов к опасным атрибутам, методам и объектам Python.
🐛 CVE-2026-57531, обнаруженная в Milkdown до версии 7.21.3, приводит к Cross-site Scripting (XSS). Проблема заключалась в том, что обработчик parseDOM.getAttrs сохранял содержимое HTML-элемента span с атрибутом data-type="emoji" без очистки, а при последующей сериализации в Markdown это значение напрямую записывалось в innerHTML, что позволяло злоумышленнику внедрить вредоносный HTML- или JavaScript-код, который выполнялся при обработке вставленного содержимого. В исправлении разработчики добавили очистку HTML перед записью в DOM и исключили использование необработанного содержимого при сериализации.
🐛 CVE-2026-65919, обнаруженная в Meshery до версии 1.0.57, приводит к Path Traversal. Проблема заключалась в том, что эндпоинты /api/system/fileView и /api/system/fileDownload передавали полученный от пользователя параметр file напрямую в os.Open() без проверки пути, что позволяло злоумышленнику прочитать любой файл, доступный процессу Meshery. В исправлении разработчики добавили функцию SafeOpenFile(), которая разрешает чтение только из каталогов журналов ~/.meshery/logs, проверяет нахождение итогового пути внутри разрешённой директории и открывает файл через os.OpenRoot().