Специалисты Банка данных угроз безопасности информации (BDU) зафиксировали две опасные ошибки в популярном инструменте для обработки JSON - jq. Обе уязвимости получили высокие и критические оценки по шкале CVSS. Первая проблема связана с некорректной обработкой строк и массивов. Она может привести к нарушению целостности и доступности данных. Вторая уязвимость вызвана чтением памяти за пределами допустимого буфера. Она позволяет вызвать отказ в обслуживании.
Детали уязвимостей
Утилита jq широко используется разработчиками и администраторами для фильтрации и преобразования JSON-данных в командной строке. Версии до 1.8.1 включительно содержат дефекты, подтверждённые производителем. Для обеих уязвимостей уже существуют эксплойты в открытом доступе. Разработчики выпустили патчи, закрывающие бреши. Пользователям настоятельно рекомендуется обновить jq до последней стабильной версии.
Первая уязвимость (BDU:2026-05571, CVE-2026-33948) была выявлена 12 апреля 2026 года. Она затрагивает функцию strlen() в коде jq. Ошибка классифицируется как недостаточная проверка вводимых данных (CWE-20) и неправильное null-прекращение (CWE-170). Атакующий может удалённо воздействовать на целостность и доступность защищаемой информации. Базовый вектор CVSS 3.1 равен 9,1, что соответствует критическому уровню опасности. Эксплуатация не требует аутентификации или взаимодействия с пользователем. Злоумышленник манипулирует структурами данных или ресурсами.
Вторая уязвимость (BDU:2026-05572, CVE-2026-39979) обнаружена 13 апреля 2026 года. Она находится в функции jv_parse_sized(). Тип ошибки - чтение за границами буфера (CWE-125). Эта брешь также позволяет удалённому нарушителю вызвать отказ в обслуживании. Базовый вектор CVSS 3.1 составляет 9,1 - критический. Однако оценка по CVSS 4.0 равна 6,9 (средний уровень). Для эксплуатации достаточно манипулировать структурами данных. Вектор атаки - сетевой, сложность низкая.
Обе проблемы затрагивают прикладное программное обеспечение информационных систем. Операционные системы и аппаратные платформы не уточняются - утилита кроссплатформенная. Разработчик Stephen Dolan уже устранил ошибки в новых коммитах на GitHub. Рекомендации по обновлению опубликованы на страницах проекта. Также выпущены официальные уведомления безопасности. Пользователям следует незамедлительно обновить установленную копию jq.
Ситуация осложняется наличием публичных эксплойтов. Это означает, что атаки могут начаться в любой момент. Администраторам стоит проверить версии jq в своих средах. Особое внимание - серверам и конвейерам CI/CD, где утилита используются автоматически. Даже если jq не применяется напрямую, он может быть частью сторонних скриптов или Docker-образов.
Кибербезопасность требует проактивного подхода. Установка обновлений - первый шаг. Однако стоит также ограничить доступ к утилите из ненадёжных источников. Если jq вызывается из веб-приложений, необходимо валидировать входящие JSON-данные. Возможно, имеет смысл временно заменить jq альтернативами до полного обновления инфраструктуры.
Описанные уязвимости напоминают о важности своевременного мониторинга БДУ и CVE. Инструменты анализа кода и фаззинг помогают выявлять подобные ошибки на ранних стадиях. Разработчику jq стоит усилить тестирование граничных случаев. Особенно тех, что связаны с нулевыми байтами и большими объёмами входных данных.
Суммируя можно сказать, что две критические бреши в jq создают реальные риски для многих систем. Удалённая эксплуатация, высокая оценка CVSS и готовые эксплойты делают обновление обязательным. Пользователям не стоит откладывать патчинг на потом. В текущем ландшафте угроз даже небольшое отставание в версиях может привести к компрометации.
Ссылки
- https://bdu.fstec.ru/vul/2026-05571
- https://bdu.fstec.ru/vul/2026-05572
- https://www.cve.org/CVERecord?id=CVE-2026-33948
- https://www.cve.org/CVERecord?id=CVE-2026-39979
- https://github.com/jqlang/jq/commit/6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b
- https://github.com/jqlang/jq/security/advisories/GHSA-32cx-cvvh-2wj9
- https://github.com/jqlang/jq/commit/2f09060afab23fe9390cce7cb860b10416e1bf5f
- https://github.com/jqlang/jq/security/advisories/GHSA-2hhh-px8h-355p