Uma vulnerabilidade crítica à execução remota do código (RCE) saiu à luz em protobuf.js, a implementação em JavaScript do Protocol Buffers que usam milhares de projetos em Node.js. O problema chamou a atenção depois de pesquisadores partilharem um proof-of-concept público e os mantenedores publicarem adesivos; dada a popularidade da livraria — que registra perto de 50 milhões de downloads semanais — o achado merece atenção imediata por equipas de desenvolvimento e operações.
A falha reside em como a livraria gera código dinamicamente a partir dos esquemas. Em vez de construir estruturas seguras, protobuf.js concatena cadeias para formar funções JavaScript e as executa com o construtor Function (), aplicando muito pouca ou nenhuma validação sobre os identificadores extraídos do esquema (nomes de mensagens, tipos, etc.). Um esquema manipulado por um atacante pode inserir código malicioso nessa cadeia, de modo que quando a função sintética é finalmente avaliada, o código injetado é executado no contexto do processo que carrega o esquema.

Esse vetor converte um esquema malicioso em uma porta para acessar variáveis de ambiente, segredos, conexões a bases de dados e outros recursos internos; também permite movimentos laterais se a aplicação estiver implantada em infraestrutura compartilhada. Não é apenas um risco para servidores: se desenvolvedores carregam e decodificam esquemas não confiáveis em suas máquinas locais, também podem ficar comprometidos seus ambientes de trabalho.
O problema foi descoberto pelo pesquisador Cristian Staicu e documentado pela empresa de segurança Endor Labs em um relatório detalhado; a vulnerabilidade está registrada no GitHub como GHSA-xq3m-2v4x-88gg e Endor Labs explica o mecanismo e mostra um PoC em sua análise ( Relatório do Endor Labs). Embora os autores do relatório tenham assinalado que a exploração é simples, por agora, não foi confirmada atividade maliciosa estendida em ambientes de produção.
A vulnerabilidade afeta versões de protobuf.js anteriores ou iguais a 8.0.0 e 7.5.4. Os mantenedores publicaram correcções disponíveis nos principais ramos: a série 8.x foi corrigida com a versão 8.0.1 e a série 7.x com a 7.5.5; os pacotes npm com os adesivos foram publicados em abril (atualizações para 8.x e 7.x em diferentes datas). Você pode consultar o repositório e notas de segurança na página do projeto no GitHub: protobuf.js no GitHub e os seus releases.
A solução urgente que se aplicou no adesivo consiste em sanitizar os nomes de tipo, eliminando caracteres não alfanuméricos para impedir que um atacante feche a função sintética e adicione instruções maliciosas. No entanto, os especialistas apontam que uma correção mais robusta passa por deixar de usar completamente a geração dinâmica de código com Function () para processar identificadores que podem vir de fontes externas: evitar o “round-tripping” de identificadores através de código gerado é uma reparação de design mais segura e duradoura.
Se o seu projeto depende de protobuf.js, ele atua já: atualiza as versões patchadas, verifica o grafo de dependências em busca de versões vulneráveis (mesmo como dependências transitivas) e trata a carga de esquemas como entrada não confiável. Para equipamentos de produção, uma prática recomendada é empregar esquemas pré-compilados ou estáticos em vez de gerar e avaliar código em tempo de execução. Endor Labs também sugere auditar dependências transitivas e revisar pipelines de CI/CD que possam introduzir esquemas não verificados.

Em termos práticos, você pode verificar que versão está instalada com comandos do gestor de pacotes (por exemplo, inspecionando o package.json ou usando ferramentas como npm ls) e forçar atualizações às versões seguras (por exemplo, npm install protobufjs@ ^8.0.1 ou a versão 7.5.5 segundo o ramo que você usa). Além disso, é recomendável incorporar digitalizações automáticas de software na pipeline e políticas que evitem a descarga e execução de esquemas de origem não controlados.
A divulgação pública incluiu um PoC na própria assessoria de segurança do projeto, o que facilita equipamentos técnicos replicar o problema para validar o problema em ambientes controlados; a assessoria oficial no GitHub contém o link para esse exemplo e a discussão técnica ( Assessoria no GitHub). Se precisar de mais contexto sobre a descoberta e recomendações técnicas, a análise do Endor Labs está bem documentada e vale a pena lê-lo cuidadosamente: Relatório do Endor Labs.
A lição para a comunidade de desenvolvimento é dupla: por um lado, a grande conveniência de gerar código dinâmicamente traz riscos quando as entradas não estão bem validadas; por outro, a enorme dependência em bibliotecas compartilhadas faz com que uma única vulnerabilidade possa ter um alcance amplo. Actualizar, auditar e reduzir a superfície de exposição continua a ser a melhor defesa.
Relacionadas
Mas notícias do mesmo assunto.

Jovem ucraniano de 18 anos lidera uma rede de infostealers que violou 28.000 contas e deixou perdas de 250 mil dólares
As autoridades ucranianas, em coordenação com agentes dos EUA. Os EUA puseram o foco numa operação. infostealer que, segundo a Polícia Cibernética da Ucrânia, teria sido adminis...

A assinatura digital está em jaque: Microsoft desmantela um serviço que tornou malware em software aparentemente legítimo
A Microsoft anunciou a desarticulação de uma operação de "malware‐signing‐as‐a-service" que explorava seu sistema de assinatura de artefatos para converter código malicioso em b...

Um único token de workflow do GitHub abriu a porta para a cadeia de fornecimento de software
Um único token de workflow do GitHub falhou na rotação e abriu a porta. Essa é a conclusão central do incidente em Grafana Labs após a recente onda de pacotes maliciosos publica...

Webworm 2025: o malware que se esconde em Discord e Microsoft Graph para evitar a detecção
As últimas observações de pesquisadores em cibersegurança apontam uma mudança de táticas preocupantes de um ator ligado à China conhecido como Webworm: Em 2025, ele introduziu p...

A identidade já não basta: a verificação contínua do dispositivo para uma segurança em tempo real
A identidade continua sendo a coluna vertebral de muitas arquiteturas de segurança, mas hoje essa coluna está se agride sob novas pressões: phishing avançado, kits que proxyam a...

A matéria escura da identidade está mudando as regras da segurança corporativa
O relatório Identity Gap: Snapshot 2026 publicado por Orchid Security coloca números a uma tendência perigosa: a "matéria escura" de identidade —contas e credenciais que não se ...

PinTheft o exploit público que pode ser root no Arch Linux
Um novo exploit público levou à superfície novamente a fragilidade do modelo de privilégios no Linux: a equipe de V12 Security baniu a falha como PinTheft e publicou um teste de...