
Серьёзная уязвимость в Apache bRPC: специально сформированный JSON приводит к сбою серверов
В сфере кибербезопасности выявлена очередная критическая угроза. В системе Apache bRPC (Baidu RPC) обнаружена уязвимость CVE-2025-59789, позволяющая удалённо вывести сервер из строя. Опасность дефекта оценивается по шкале CVSS в 9.8, что соответствует уровню «Critical» — самому высокому классу риска.
В чём заключается суть уязвимости?
Apache bRPC — высокопроизводительный RPC-фреймворк, активно используемый крупными компаниями и сервисами. Уязвимость обнаружена в компоненте json2pb, который отвечает за преобразование входящих JSON-данных в формат Protocol Buffer (protobuf).
Компонент json2pb использует библиотеку rapidjson, применяющую рекурсивный метод разбора данных. Злоумышленники могут воспользоваться этим механизмом, отправляя:
- чрезвычайно глубоко вложенные структуры JSON,
- рекурсивные элементы,
- специально подготовленные JSON-объекты.
В результате функция парсинга входит в состояние бесконечной рекурсии, что приводит к переполнению стека (stack overflow) и последующему аварийному завершению работы сервера bRPC. Это вызывает полное прекращение функционирования сервиса.
Какие версии находятся под угрозой?
Подвержены все:
- версии Apache bRPC ниже 1.15.0,
- операционные системы, на которых используется фреймворк,
- серверы, обрабатывающие protobuf-сообщения через HTTP+JSON.
Особенно опасно это для сервисов bRPC, получающих JSON-данные из недоверенных сетей.
Последствия: полный отказ в обслуживании (DoS)
Атака приводит к тому, что сервер:
- прекращает работу,
- не принимает новые подключения,
- нарушает функционирование связанных сервисов,
- временно становится недоступным.
Это не только снижает качество обслуживания, но и может нанести значительный ущерб бизнес-процессам.
Решения, предложенные Apache
Чтобы устранить уязвимость, Apache представила два варианта решения:
1. Полное обновление
- Переход на версию bRPC 1.15.0.
- Гарантирует исправление дефекта и улучшенную стабильность.
2. Установка официального патча
Если обновление невозможно, можно применить официальный патч, опубликованный в GitHub.
Важное изменение: ограничение глубины рекурсии
Обновление и патч включают механизм ограничения глубины рекурсии:
- Стандартное значение — 100.
- Ограничение применяется к следующим функциям:
- ProtoMessageToJson
- ProtoMessageToProtoJson
- JsonToProtoMessage
- ProtoJsonToProtoMessage
Если JSON или protobuf-структуры превышают допустимую глубину, запрос автоматически отклоняется.
Администраторы могут изменить порог с помощью параметра:
json2pb_max_recursion_depth
Рекомендации по безопасности
Организациям и IT-командам рекомендуется как можно быстрее выполнить следующие шаги:
✔ 1. Обновить серверы
Перейти на bRPC 1.15.0 или установить официальный патч.
✔ 2. Проверять источники JSON-данных
Недоверенные сети представляют наибольший риск.
✔ 3. Настроить лимит рекурсии
Подобрать безопасный уровень в соответствии со спецификой сервиса.
✔ 4. Усилить мониторинг и анализ логов
Обнаруживать аварии, связанные с переполнением стека, на раннем этапе.
✔ 5. Использовать фильтрацию трафика и WAF
Блокировать подозрительные JSON-структуры ещё до их обработки сервером.
Уязвимость CVE-2025-59789 в Apache bRPC представляет собой серьёзную угрозу для современной серверной инфраструктуры. Специально сформированный JSON может полностью вывести сервер из строя, что создаёт значительные риски для бизнеса.
Администраторам и специалистам по безопасности необходимо как можно быстрее:
- обновить системы,
- установить патчи,
- усилить контроль над входящими данными.
В наши дни кибербезопасность — это не просто технический аспект, а важнейший элемент устойчивости любой организации. Своевременные меры позволяют эффективно предотвратить подобные угрозы.



