Ошибка в библиотеке jmespath.rb, предназначенной для запросов и фильтрации данных в формате JSON, позволяет удалённому злоумышленнику вызвать отказ в обслуживании. Проблема подтверждена производителем и уже устранена в актуальных версиях программного обеспечения.
Детали уязвимости
Причина уязвимости, получившей идентификаторы BDU:2026-10994 и CVE-2022-32511, связана с некорректным восстановлением в памяти недостоверных данных. Речь идёт о небезопасной десериализации: если приложение обрабатывает специально сформированный поток данных, атакующий может добиться сбоя в работе сервиса. В зависимости от сценария эксплуатации потенциальный вред не ограничивается только отказом в обслуживании - по шкале CVSS 3.1 уязвимость оценивается в 9,8 балла, что соответствует критическому уровню опасности. Вектор атаки сетевой, для её реализации не требуются учётные данные или взаимодействие с пользователем.
Библиотека jmespath.rb используется во многих проектах для работы с JSON-документами, поэтому круг потенциально затронутых систем достаточно широк. В частности, на эту библиотеку опирается программный комплекс средств виртуализации "Брест" от компании "РусБИТех-Астра". Данный продукт позиционируется как средство защиты информации, и его уязвимость может создавать дополнительные риски для инфраструктур, где он применяется. В бюллетене указано, что затронуты версии ПК СВ "Брест" до 3.3.4 включительно.
Разработчики уже выпустили исправления. Для самой библиотеки jmespath.rb подготовлен релиз 1.6.1, в котором устранена ошибка десериализации. Соответствующий коммит доступен в публичном репозитории проекта на GitHub. Для ПК СВ "Брест" выпущено оперативное обновление до версии 3.3.4, которое распространяется через личный кабинет пользователя на сайте производителя. В официальной документации также приведены рекомендации по обновлению.
Пользователям и администраторам, применяющим jmespath.rb в собственных разработках или использующим ПК СВ "Брест", рекомендуется как можно скорее установить обновления. Промедление с обновлением может оставить системы открытыми для атак, направленных на нарушение доступности сервисов. Поскольку уязвимость затрагивает компонент с открытым исходным кодом, важно проверить также окружения, где библиотека используется транзитивно - через другие зависимости.
Подобные проблемы в популярных библиотеках привлекают внимание к вопросам безопасности цепочки поставок. Ошибки десериализации регулярно встречаются в различных языках программирования и фреймворках, поэтому производителям ПО важно своевременно обновлять сторонние компоненты, а потребителям - отслеживать такие обновления. В данном случае уязвимость уже закрыта, но её существование напоминает о необходимости регулярного аудита зависимостей и быстрого реагирования на выходы новых версий.
Ссылки
- https://bdu.fstec.ru/vul/2026-10994
- https://www.cve.org/CVERecord?id=CVE-2022-32511
- https://github.com/jmespath/jmespath.rb/commit/e8841280053a9d9a0c90f36223f926c8b9e4ec49
- https://github.com/jmespath/jmespath.rb/compare/v1.6.0...v1.6.1
- https://github.com/jmespath/jmespath.rb/pull/55
- https://nvd.nist.gov/vuln/detail/CVE-2022-32511
- https://security-tracker.debian.org/tracker/CVE-2022-32511
- https://stackoverflow.com/a/30050571/580231