В библиотеке gRPC для языка Elixir обнаружена критическая уязвимость: удалённое выполнение кода без аутентификации

vulnerability

В Банк данных угроз безопасности информации (BDU) была внесена запись о критической уязвимости, затрагивающей библиотеку gRPC для языка программирования Elixir. Речь идёт о коде под названием Erlpack. Проблема получила идентификатор BDU:2026-08314 (CVE-2026-48853) и максимальную оценку опасности по шкале CVSS 2.0 - 10 баллов. По новым версиям шкалы оценка составляет 9,8 (CVSS 3.1) и 9,2 (CVSS 4.0). Это означает, что атака не требует от нарушителя никаких привилегий или взаимодействия с жертвой.

Детали уязвимости

Библиотека gRPC для языка Elixir - это реализация популярного протокола удалённого вызова процедур, который активно применяется для связи между микросервисами. Erlpack, входящий в её состав, отвечает за упаковку и распаковку данных в особый бинарный формат. Как выяснили исследователи, в механизме десериализации (то есть в процессе преобразования полученных бинарных данных обратно в структуры языка программирования) заложены сразу два класса ошибок.

Первая проблема классифицируется как CWE-502 - это восстановление в памяти недостоверных данных. Иными словами, злоумышленник может сформировать специальный сетевой пакет, который после обработки библиотекой превратится в произвольный объект в памяти приложения. Тем самым атакующий получает возможность выполнить любой код на удалённом сервере. Вторая уязвимость относится к типу CWE-770 - неограниченное распределение ресурсов. Она позволяет нарушителю отправить запрос, который спровоцирует лавинообразное потребление оперативной памяти или процессорного времени, что в итоге приведёт к отказу в обслуживании.

Особую тревогу вызывает то, что уязвимость относится к классу "уязвимость архитектуры". Это означает, что проблема заложена не в простой опечатке или неверной конфигурации, а в самом принципе работы модуля. Исправить её можно только установкой обновлённой версии библиотеки. Производитель уже выпустил соответствующий патч. Более того, по данным Банка данных угроз, эксплойт уже существует в открытом доступе. Это кардинально повышает риски для всех владельцев незащищённых систем.

Список уязвимых версий охватывает диапазон от 0.4.0 до 1.0.0. Это значит, что под угрозой как старые, так и относительно свежие сборки библиотеки в течение нескольких лет. Учитывая, что gRPC широко применяется в распределённых системах, особенно в архитектурах микросервисов, потенциальное количество пострадавших проектов может быть весьма значительным.

Эксперты по информационной безопасности подчёркивают: сочетание удалённого вектора атаки, возможности выполнить произвольный код и отсутствия необходимости в аутентификации делает эту уязвимость крайне опасной. Нарушитель может просто отправить вредоносный запрос по сети, и серверное приложение, использующее уязвимую библиотеку, будет скомпрометировано. Более того, атакующий даже не обязан знать внутреннюю структуру приложения или его конфигурацию. Ему достаточно лишь знать, что на целевом сервере работает один из подверженных уязвимости сервисов.

Способы эксплуатации уже описаны разработчиками. Это манипулирование структурами данных (то есть подстановка специально искажённого пакета) и исчерпание ресурсов (для варианта с отказом в обслуживании). Судя по пояснениям к уязвимости, злоумышленник может выбирать между кражей данных, остановкой сервиса или получением полного контроля над системой.

Что делать администраторам и разработчикам? В первую очередь необходимо как можно быстрее обновить библиотеку grpc для Elixir до версии, вышедшей после выпуска исправления. Рекомендуется свериться с официальным репозиторием проекта на GitHub, где опубликован детальное предупреждение о безопасности с идентификатором GHSA-grp7-v8xh-rj7h. Там же доступен коммит, устраняющий проблему. Если по каким-то причинам обновление невозможно в ближайшее время, стоит временно отключить сервисы, использующие уязвимый компонент, или ограничить доступ к ним по сети, хотя паллиативные меры могут не дать полной гарантии защиты.

Следует отметить, что уязвимость подтверждена производителем и уже устранена в новых версиях. Тем не менее, ситуация усугубляется наличием публичного эксплойта. Это значит, что атаки могут начаться в любой момент, причём их масштаб будет нарастать снежным комом. Мы рекомендуем всем командам, эксплуатирующим Elixir-проекты с поддержкой gRPC, немедленно проверить версии используемых библиотек и применить патч. Промедление в данном случае грозит не только простоем, но и компрометацией конфиденциальных данных.

Ссылки

Комментарии: 0