1. TugaTech » Internet e Redes » Noticias da Internet e Mercados
  Login     Registar    |                      
Siga-nos

código de programação

Uma implementação em JavaScript dos Protocol Buffers da Google, conhecida como protobuf.js, apresenta uma vulnerabilidade crítica de execução remota de código (RCE). O código de exploração de prova de conceito para esta falha já se encontra publicado. A denúncia foi apresentada num relatório da empresa de segurança Endor Labs. Esta ferramenta atinge quase 50 milhões de downloads semanais no registo npm e serve para a comunicação entre serviços, aplicações em tempo real e armazenamento de dados estruturados em bases de dados e ambientes na cloud.

A origem do problema

O problema de segurança não possui um número CVE oficial, mas é atualmente monitorizado no GitHub através do identificador GHSA-xq3m-2v4x-88gg. A falha tem origem na geração dinâmica de código de forma insegura. A biblioteca constrói funções a partir de esquemas protobuf através da concatenação de strings e da sua execução pelo construtor Function(), mas falha ao não validar os identificadores derivados do esquema, como é o caso dos nomes das mensagens.

Esta ausência de validação permite que um atacante forneça um esquema malicioso capaz de injetar código arbitrário na função gerada, que é posteriormente executado quando a aplicação processa uma mensagem com esse mesmo esquema. O ataque abre caminho para a execução remota em servidores ou aplicações que carreguem esquemas manipulados, garantindo acesso a variáveis de ambiente, credenciais, bases de dados e sistemas internos. A vulnerabilidade permite também o movimento lateral dentro da infraestrutura e pode afetar as máquinas dos programadores que carreguem e descodifiquem localmente esquemas não fiáveis.

Correção e medidas preventivas

A vulnerabilidade afeta as versões 8.0.0 e 7.5.4 do protobuf.js, assim como as edições inferiores. A falha foi comunicada pelo investigador Cristian Staicu a 2 de março, tendo os programadores lançado uma correção a 11 de março. As correções para os pacotes npm ficaram disponíveis a 4 de abril para a ramificação 8.x e a 15 de abril para a ramificação 7.x. Para resolver o problema, é recomendada a atualização para as versões 8.0.1 e 7.5.5.

O patch implementado limpa os nomes dos tipos ao remover caracteres não alfanuméricos, o que impede o atacante de fechar a função sintética. A empresa de segurança adverte que a exploração da falha é simples, facto refletido pela prova de conceito mínima incluída no alerta. No entanto, não se observou qualquer exploração ativa até ao momento. Os administradores de sistemas são aconselhados a auditar dependências transitivas, tratar o carregamento de esquemas como uma entrada não fiável e dar preferência a esquemas estáticos em ambientes de produção.

Foto do Autor

Aficionado por tecnologia desde o tempo dos sistemas a preto e branco

Ver perfil do usuário Enviar uma mensagem privada Enviar um email Facebook do autor Twitter do autor Skype do autor

conectado
Encontrou algum erro neste artigo?



Aplicações do TugaTechAplicações TugaTechDiscord do TugaTechDiscord do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech