A Cyera Research descobre seis vulnerabilidades no Protobuf.js que afetam a espinha dorsal de sistemas de dados e IA.

Jun 5, 2026
Compartilhar

Pesquisadores da Cyera descobriram e ajudaram a corrigir seis vulnerabilidades no protobuf.js, incluindo falhas que poderiam levar à execução remota de código (RCE) e ataques de negação de serviço (DoS).

Se você está se perguntando por que isso importa, é uma pergunta justa. A maioria de nós raramente interage diretamente com o protobuf.js. No entanto, ele é o ambiente de execução JavaScript mais usado para Protocol Buffers, um formato de serialização que viabiliza a comunicação entre milhões de aplicativos, bancos de dados, serviços nativos da nuvem e sistemas de IA. O pacote em si é baixado mais de 50 milhões de vezes por semana, e a adoção real provavelmente é muito maior devido à sua ampla inclusão como dependência em inúmeros projetos de software.

Principais conclusões

Pesquisadores da Cyera descobriram seis vulnerabilidades no protobuf.js. Em ambientes afetados, um único esquema protobuf malicioso, descritor ou payload manipulado pode ser suficiente para causar travamentos, corrupção em tempo de execução ou até mesmo execução de código.

As vulnerabilidades afetam aplicações Node.js que utilizam protobuf.js, o qual é incluído direta ou indiretamente por ferramentas gRPC (@grpc/proto-loader), bibliotecas de cliente do Google Cloud, frameworks de mensagens como o Baileys e pipelines de CI/CD. Qualquer serviço Node.js que decodifique dados protobuf ou gere código a partir de esquemas com protobuf.js está potencialmente no escopo da vulnerabilidade.

As vulnerabilidades afetam as versões do protobuf.js <= 7.5.5 e >= 8.0.0 <= 8.0.1, e as versões do protobufjs-cli <= 1.2.0 e >= 2.0.0 <= 2.0.1. As correções estão disponíveis no protobufjs 7.5.6 / 8.0.2 e no protobufjs-cli 1.2.1 / 2.0.2.

O que é Protobuf?

Os Protocol Buffers são um dos mecanismos mais amplamente adotados para a transferência de dados estruturados entre aplicações. Eles estão presentes em serviços em nuvem, bancos de dados, pipelines de IA, APIs, aplicativos móveis e sistemas distribuídos. Em ambientes JavaScript, o protobuf.js é o mecanismo responsável por codificar e decodificar essas informações, tornando-o uma das bibliotecas de serialização mais utilizadas no ecossistema de software.

Como o protobuf foi projetado para funcionar nos bastidores, a maioria das organizações desconhece quantos sistemas críticos dependem dele até que algo dê errado.

Visão geral das vulnerabilidades

Embora as seis vulnerabilidades difiram em seus detalhes técnicos (saiba mais aqui), todas elas têm origem em um problema subjacente semelhante:

  • O protobuf.js confiou em certos dados que deveriam ter sido tratados como entradas potencialmente não confiáveis.
  • Informações destinadas a descrever como os dados deveriam ser processados ​​(como definições de esquema, nomes de campos ou valores de configuração) poderiam, em certas circunstâncias, influenciar o comportamento da aplicação de maneiras inesperadas.
  • Isso pode levar a uma série de consequências, desde falhas de aplicativos até cenários mais graves envolvendo a execução de código.

Embora a exploração dessas vulnerabilidades geralmente exija condições específicas, essas condições são cada vez mais comuns em ecossistemas de dados e IA que rotineiramente trocam dados, esquemas e arquivos de configuração entre serviços, repositórios, plataformas em nuvem e integrações de terceiros.

Impacto no mundo real: de chatbots a cadeias de suprimentos de software

Encontrar vulnerabilidades em um componente de código aberto amplamente utilizado é uma coisa. Compreender o que essas vulnerabilidades podem significar em ambientes reais é o que realmente importa. Para avaliar o impacto potencial, testamos diversos cenários realistas envolvendo tecnologias que as organizações usam diariamente, desde plataformas de automação voltadas para o cliente até serviços em nuvem e pipelines de entrega de software.

A mesma vulnerabilidade pode se manifestar de maneiras muito diferentes dependendo de onde o protobuf.js está implantado. Em um ambiente, pode causar a falha de um serviço; em outro, pode afetar um pipeline de CI/CD. Testamos diversos cenários para entender como o impacto varia entre bancos de dados, cadeias de suprimentos de software, cargas de trabalho em nuvem e plataformas de mensagens.

Um cenário de ataque realista poderia ter como alvo as cadeias de suprimentos de software. Equipes de desenvolvimento rotineiramente aceitam contribuições de código, integram componentes de terceiros e processam arquivos automaticamente por meio de pipelines de CI/CD. Descobrimos que, sob certas condições, um esquema protobuf malicioso poderia ser introduzido nesse fluxo de trabalho e, por fim, ser executado em ambientes de compilação confiáveis. A importância dessa descoberta não se limita a um único aplicativo. Sistemas de compilação frequentemente têm acesso a repositórios de código-fonte, credenciais de implantação, recursos em nuvem, certificados de assinatura e outros ativos altamente sensíveis. Uma violação nessa etapa poderia permitir que os invasores avançassem muito além do projeto inicial e potencialmente afetassem produtos subsequentes, clientes e operações comerciais.

Os riscos vão além dos aplicativos e se estendem às plataformas de dados das quais muitas organizações dependem diariamente. Muitos bancos de dados, plataformas de dados e sistemas de análise trocam informações usando Protocol Buffers, e os serviços Node.js e SDKs de cliente que ficam à frente deles geralmente decodificam esse tráfego com protobuf.js. Nesses ambientes, o protobuf é tratado como uma camada confiável de infraestrutura e recebe muito menos atenção do que os aplicativos voltados para o público externo.

Em ambientes onde serviços Node.js decodificam protobuf não confiável com uma versão afetada, um payload malicioso pode causar falhas, interromper fluxos de processamento de dados ou tirar as operações de backend do ar. Em ambientes de grande escala, onde centenas de serviços trocam informações continuamente, mesmo uma falha localizada pode se propagar e causar problemas mais amplos, afetando a disponibilidade e a confiabilidade.

Os sistemas de IA eram particularmente interessantes porque o protobuf aparece em todo o pipeline, e vários dos clientes Node.js que o utilizam executam o protobuf.js diretamente: o SDK de banco de dados vetorial Milvus, o SDK de orquestração Temporal TypeScript e os exportadores JavaScript do OpenTelemetry o incluem. Caso um desses clientes decodifique um protobuf afetado por um ataque, a mesma falha poderia interromper a ingestão de dados, impedir a recuperação, atrasar a inferência ou afetar os serviços em torno de uma implantação de IA em produção.

Outro exemplo impressionante envolveu plataformas de automação do WhatsApp. Demonstramos que uma mensagem especialmente criada poderia causar falhas repetidas em frameworks populares de bots do WhatsApp. O impacto vai além de uma simples interrupção do serviço. Como a mensagem maliciosa permanece armazenada no histórico da conversa, os bots afetados podem entrar em um loop de falha persistente, travando novamente a cada reinicialização e tentativa de processar a mensagem. Para organizações que dependem de bots de mensagens para atendimento ao cliente, vendas, suporte ou operações comerciais, uma única interação maliciosa pode potencialmente interromper todo um canal de comunicação.

Resumo e Mitigação

As seis vulnerabilidades descobertas pelos pesquisadores da Cyera afetam operações essenciais do protobuf.js, incluindo carregamento de esquema, geração de código, manipulação de objetos, codificação, decodificação e análise de descritores. Como o protobuf.js é amplamente utilizado em bancos de dados, armazenamentos vetoriais, pipelines de inferência, sistemas de orquestração, ferramentas de CI/CD e SDKs de nuvem, a exploração bem-sucedida dessas vulnerabilidades poderia impactar cargas de trabalho sensíveis de empresas e de IA em larga escala.

A lição desta pesquisa vai além do protobuf.js. O software moderno trata cada vez mais esquemas, metadados e arquivos de configuração como entradas confiáveis ​​que impulsionam a automação, a orquestração e a geração de código. Quando essas premissas de confiança são quebradas, os dados podem se tornar comportamento. Essa mudança cria novas superfícies de ataque que as equipes de segurança precisam aprender a identificar e gerenciar.

Ações imediatas a serem tomadas:

  • Atualize o protobufjs e o protobufjs-cli para as versões corrigidas e verifique as dependências diretas e transitivas.
  • Priorize serviços gRPC, API, WebSocket e filas de mensagens voltados para a internet que decodificam payloads protobuf não confiáveis, especialmente devido ao risco de DoS identificado pela CVE-2026-44289.
  • Analise a exposição à poluição visual do protótipo em pacotes npm instalados em conjunto, pois ela pode ser combinada com a CVE-2026-44291 e com o problema de typeName do descritor, resultando em execução remota de código (RCE).
  • Trate os esquemas, descritores e registros de esquemas do Protobuf como entradas não confiáveis; valide as fontes .proto, descritores JSON e FileDescriptorSet antes de carregá-las.
  • Reforce a segurança dos pipelines de CI/CD usando pbjs. Fixe versões, verifique a integridade do esquema e evite gerar código estático a partir de esquemas não confiáveis.

Como a Cyera pode ajudar

A Cyera ajuda as organizações a identificar e reduzir riscos em ambientes modernos de nuvem, IA e dados, onde a comunicação baseada em Protobuf e o gerenciamento dinâmico de esquemas estão profundamente integrados. A Cyera oferece visibilidade de fluxos de dados sensíveis, pipelines de IA, serviços em nuvem e sistemas distribuídos que podem estar expostos a bibliotecas vulneráveis, dependências inseguras ou padrões de carregamento de esquemas inseguros.

Com o Cyera, as organizações podem identificar serviços de alto risco que lidam com tráfego protobuf sensível, detectar segredos expostos e dados relacionados à IA, monitorar integrações arriscadas em ambientes nativos da nuvem e reduzir o impacto em caso de comprometimento em tempo de execução ou ataques à cadeia de suprimentos.

A Cyera também ajuda as equipes de segurança a entender onde residem os dados corporativos e de IA confidenciais, como eles se movem entre os sistemas e quais cargas de trabalho podem ser afetadas por vulnerabilidades nas camadas de serialização, infraestrutura gRPC, bancos de dados vetoriais ou pipelines de orquestração de IA.

Compartilhar