Descoberta e escopo
O problema foi registrado como CVE-2025-59789 e afeta todas as versões do Apache bRPC anteriores à 1.15.0. A falha tem pontuação CVSS de 9.8 (Critical) segundo o comunicado disponível, e o vetor de ataque é por rede.
Abordagem técnica / Vetor de exploração
A vulnerabilidade está no componente json2pb, responsável por converter JSON em mensagens Protocol Buffer. O componente utiliza a biblioteca rapidjson com um método de parsing recursivo por padrão. Quando um atacante envia JSON com estruturas recursivas e profundamente aninhadas, a função de parsing consome a pilha até provocar um stack overflow, levando ao encerramento do processo e a uma condição de denial-of-service (DoS).
Mitigações e correções disponíveis
O projeto Apache bRPC publicou duas opções para corrigir o problema:
- Atualizar para Apache bRPC versão 1.15.0, que contém a correção completa.
- Aplicar o patch oficial disponível no repositório (para equipes que não puderem atualizar imediatamente).
A correção introduz um limite de profundidade de recursão com valor padrão de 100. Esse limite passa a valer para quatro funções principais: ProtoMessageToJson, ProtoMessageToProtoJson, JsonToProtoMessage e ProtoJsonToProtoMessage. Requisições contendo JSON ou mensagens protobuf cuja profundidade exceda esse limite falharão após a aplicação da correção.
Administradores podem ajustar o limite por meio da gflag json2pb_max_recursion_depth conforme as necessidades do ambiente.
Impacto e alcance
Organizações que utilizam servidores bRPC e que expõem endpoints HTTP+JSON a redes não confiáveis estão em risco, especialmente se utilizam a função JsonToProtoMessage para processar entrada externa. O risco é de interrupção de serviço (DoS) mediante envio de payloads cuidadosamente construídos para atingir a profundidade de recursão.
O que fazer agora
- Avaliar a presença de servidores Apache bRPC na infraestrutura que recebem JSON de fontes não confiáveis.
- Priorizar atualização para Apache bRPC 1.15.0 ou aplicar o patch oficial, conforme disponibilidade.
- Se não for possível aplicar correção imediatamente, isolar ou bloquear tráfego de origens não confiáveis para os endpoints que fazem conversão JSON→protobuf.
- Rever regras de WAF/IDS para detectar e mitigar payloads com estruturas JSON aninhadas acima de limites razoáveis.
Limites das informações
As fontes não detalham observações de exploração em ambiente real nem divulgam indicadores de comprometimento ou exploits públicos. Também não há indicação nas informações oficiais de variações de CVE ou atribuições a campanhas específicas.
Relevância para equipes de segurança
Trata‑se de uma falha de alta severidade (CVSS 9.8) que exige resposta rápida de times de segurança e operações: avaliação de exposição, aplicação de patch/patch temporário e ajustes em perímetro para reduzir risco até a correção ser implantada. A configuração de json2pb_max_recursion_depth deve ser revisada em testes antes de mudanças em produção para evitar falhas legítimas em integrações internas que eventualmente usem estruturas JSON profundas.