Vulnerabilidade em destaque: como um problema de reutilização de código levou a vulnerabilidades em vários produtos

Por Francesco Bem-vindo. 

Recentemente, eu estava realizando algumas pesquisas em um roteador sem fio e notei o seguinte trecho de código: 

Esta função unescape reverterá os bytes codificados de URL para sua forma original. Mas algo me chamou a atenção especificamente: não houve verificação de tamanho para as operações realizadas e a função assume que após um ‘%’ sempre há dois bytes. Então, o que aconteceria se depois de ‘%’, apenas um caractere existisse? A resposta é que o s+3, no strcpy, acessará após o final da string. Portanto, isso pode levar à corrupção de memória.Então, tentei explorar esse bug no roteador em questão. Mas com base em como a string de URL foi gerenciada nesse dispositivo, não foi possível. Mas tinha o potencial de travar outros servidores da web que usavam esse pedaço de código. Essa função pertencia à biblioteca freshtomato. Então, procurei o código-fonte e notei que no início do arquivo que continha essa função, havia o seguinte comentário: 

Era código da Broadcom. Procurei pedaços desses comentários no Google e encontrei alguns projetos usando esse código. Então, eu também usei grep.app escrevendo uma regex tentando pegar o layout do bug e encontrei outros projetos. Alguns desses projetos eram códigos que podem ser modificados e/ou em cenários de servidor web. Então, testamos o código e eventualmente contatamos vários fornecedores sobre vulnerabilidades em seus respectivos produtos.  

As semelhanças entre o código utilizado por cada um dos diferentes projetos são tão semelhantes que é razoável supor que o código é retirado da mesma fonte inicial. Vendo como o código originalmente detinha direitos autorais da Broadcom, é provável que o código fosse parte de uma implementação de referência que a Broadcom lançou para ajudar os clientes a implementar um servidor HTTP usando um produto da Broadcom. Essa vulnerabilidade se torna mais interessante à medida que os produtos vulneráveis ​​são analisados ​​com mais profundidade, incluindo o software de código aberto ArduPilot. Este software é um pacote de veículo autônomo de código aberto, não vinculado à Broadcom de forma alguma, de modo que o código vulnerável chegou à base de código sem uma implementação de referência direta. Esse tipo de reutilização estendida de código é extraordinariamente difícil de rastrear, mesmo com as práticas de codificação seguras modernas, devido ao código ser ligeiramente modificado para atender especificamente a cada caso de uso. Por esses motivos, é extremamente importante que os desenvolvedores estejam atentos ao revisar as funcionalidades externas que são modificadas e inseridas em uma base de código, bem como que os pesquisadores de segurança investiguem problemas que podem ser facilmente alterados em vários pacotes de software. 

Abaixo estão as vulnerabilidades que divulgamos e ajudamos a corrigir como parte dessa descoberta. TALOS-2022-1509 TALOS-2022-1511 e TALOS-2022-1512 foram corrigidos por suas respectivas empresas ou mantenedores. No entanto, estamos divulgando o TALOS-2022-1510 sem patch, devido à falha do fornecedor em aderir ao prazo de 90 dias da Cisco como parte da política de divulgação de vulnerabilidades. 

TALOS-2022-1509 (CVE-2022-28664 – CVE-2022-28665)

Uma vulnerabilidade de corrupção de memória na funcionalidade unescape do httpd do FreshTomato, versão 2022.1. Uma solicitação HTTP especialmente criada pode levar à corrupção de memória. Um invasor pode enviar uma solicitação de rede para acionar essa vulnerabilidade. 

TALOS-2022-1510 (CVE-2022-27631)

Uma vulnerabilidade de corrupção de memória na funcionalidade unescape do httpd do DD-WRT da Revisão 32270 à Revisão 48599 — um firmware baseado em Linux para sistemas embarcados. Uma solicitação HTTP especialmente criada pode levar à corrupção de memória. Um invasor pode enviar uma solicitação de rede para acionar essa vulnerabilidade. 

TALOS-2022-1511 (CVE-2022-26376)

Uma vulnerabilidade de corrupção de memória no firmware oficial da Asuswrt, bem como na alternativa de firmware de código aberto Asuswrt-Merlin New Gen para roteadores sem fio Asus. A vulnerabilidade existe na funcionalidade unescape do httpd desses firmwares. Uma solicitação HTTP especialmente criada pode levar à corrupção de memória. Um invasor pode enviar uma solicitação de rede para acionar essa vulnerabilidade. ASUSWRT, o software de interface de usuário da empresa para gerenciar dispositivos Asus, também é afetado por essa vulnerabilidade. 

TALOS-2022-1512 (CVE-2022-28711)

Uma vulnerabilidade de corrupção de memória na funcionalidade unescape do cgi.c do ArduPilot APWeb do branch master 50b6b7ac para o branch master 46177cb9. O ArduPilot é um conjunto de software de código aberto que permite aos usuários programar dispositivos autônomos de voo e direção, como drones. Uma solicitação HTTP especialmente criada pode levar à corrupção de memória. Um invasor pode enviar uma solicitação de rede para acionar essa vulnerabilidade. 

Fonte: https://blog.talosintelligence.com/

Ninja

Na cena de cybersecurity a mais de 25 anos, Ninja trabalha como evangelizador de segurança da informação no Brasil. Preocupado com a conscientização de segurança cibernética, a ideia inicial é conseguir expor um pouco para o publico Brasileiro do que acontece no mundo.

Share
Published by
Ninja

Recent Posts

Campanha de phishing com IA compromete centenas de organizações via Railway

Pesquisadores da Huntress identificaram uma campanha massiva de phishing que usa infraestrutura da Railway e…

21 horas ago

Mazda expõe dados de funcionários e parceiros após falha em sistema logístico

A Mazda informou que um acesso externo não autorizado a um sistema ligado à gestão…

21 horas ago

Falha crítica no telnetd do GNU InetUtils permite RCE como root sem autenticação

A CVE-2026-32746, com CVSS 9.8, afeta o telnetd do GNU InetUtils até a versão 2.7…

6 dias ago

GlassWorm ressurge e compromete mais de 430 repositórios, pacotes e extensões em nova ofensiva supply chain

A campanha GlassWorm voltou com escala muito maior e já atingiu 433 componentes em GitHub,…

6 dias ago

Falsos instaladores do OpenClaw ganham destaque no Bing AI e espalham malware

Como o golpe funcionava- O atacante publicou um projeto “parecido com legítimo” no GitHub, usando…

3 semanas ago

Falha crítica no better-auth permite criação não autenticada de API keys e risco de takeover

Falha crítica no better-auth permite criar API keys sem autenticação para usuários arbitrários, com risco…

1 mês ago