OctoPrint предоставляет веб-интерфейс для управления потребительскими 3D-принтерами. До версий 1.11.8 и 2.0.0rc3 собственный обработчик загрузки Tornado OctoPrint и Flask с Werkzeug анализировали параметры запроса по-разному, что позволяло злоумышленнику с разрешением FILE_UPLOAD внедрить зарезервированные внутренние поля загрузки через параметры запроса или различия анализатора, несмотря на более раннее исправление GHSA-m9jh-jf9h-x3h2. Затронутые конечные точки: /api/files/{local|sdcard}, /api/languages, /plugin/backup/restore и /plugin/pluginmanager/upload_file.
Злоумышленник может заставить OctoPrint рассматривать произвольный файл хоста как временную загрузку, переместить его в загружаемый каталог загрузки, раскрыть секреты конфигурации или другие читаемые файлы, а также удалить файлы времени выполнения таким образом, что это может повлиять на последующий перезапуск. Эта проблема исправлена в версиях 1.11.8 и 2.0.0rc3.
Показать оригинальное описание (EN)
OctoPrint provides a web interface for controlling consumer 3D printers. Prior to 1.11.8 and 2.0.0rc3, OctoPrint's custom Tornado upload handler and Flask with Werkzeug parse request parameters differently, allowing an attacker with FILE_UPLOAD permission to inject reserved internal upload fields through query parameters or parser differentials despite the earlier GHSA-m9jh-jf9h-x3h2 fix. The affected endpoints are /api/files/{local|sdcard}, /api/languages, /plugin/backup/restore, and /plugin/pluginmanager/upload_file. An attacker can make OctoPrint treat an arbitrary host file as a temporary upload, move it into a downloadable upload directory, disclose configuration secrets or other readable files, and remove runtime files in a way that can affect a later restart. This issue is fixed in versions 1.11.8 and 2.0.0rc3.
Характеристики атаки
Последствия
Строка CVSS v4.0