Fleet — это программное обеспечение для управления устройствами с открытым исходным кодом. Уязвимость внедрения SQL в версиях до 4.80.1 позволяла аутентифицированным пользователям вводить произвольные выражения SQL через параметр запроса order_key. Из-за небезопасного использования goqu.I() при построении предложения ORDER BY специально созданные входные данные могут избежать заключения идентификатора в кавычки и интерпретироваться как исполняемый SQL.
Аутентифицированный злоумышленник, имеющий доступ к затронутой конечной точке, может внедрить выражения SQL в базовый запрос MySQL. Хотя внедрение происходит в контексте ORDER BY, этого достаточно, чтобы включить методы слепого внедрения SQL, которые могут раскрывать информацию базы данных через условные выражения, влияющие на порядок результатов. Специально созданные выражения также могут вызывать чрезмерные вычисления или сбои запросов, что потенциально может привести к снижению производительности или отказу в обслуживании.
Не было продемонстрировано никаких прямых доказательств надежной модификации данных или выполнения составных запросов. Версия 4.80.1 устраняет проблему. Если немедленное обновление невозможно, пользователям следует ограничить доступ к затронутой конечной точке только доверенным ролям и убедиться, что все заданные пользователем параметры сортировки или столбца строго разрешены на уровне приложения или прокси-сервера.
Показать оригинальное описание (EN)
Fleet is open source device management software. A SQL injection vulnerability in versions prior to 4.80.1 allowed authenticated users to inject arbitrary SQL expressions via the `order_key` query parameter. Due to unsafe use of `goqu.I()` when constructing the `ORDER BY` clause, specially crafted input could escape identifier quoting and be interpreted as executable SQL. An authenticated attacker with access to the affected endpoint could inject SQL expressions into the underlying MySQL query. Although the injection occurs in an `ORDER BY` context, it is sufficient to enable blind SQL injection techniques that can disclose database information through conditional expressions that affect result ordering. Crafted expressions may also cause excessive computation or query failures, potentially leading to degraded performance or denial of service. No direct evidence of reliable data modification or stacked query execution was demonstrated. Version 4.80.1 fixes the issue. If an immediate upgrade is not possible, users should restrict access to the affected endpoint to trusted roles only and ensure that any user-supplied sort or column parameters are strictly allow-listed at the application or proxy layer.
Характеристики атаки
Последствия
Строка CVSS v4.0