Milhões de roteadores Arris são vulneráveis a ataques de passagem de caminho
O pesquisador de segurança Derek Abdine publicou um aviso sobre vulnerabilidades que existem no servidor web muhttpd licenciado pelo MIT.
Publicado:1º de agosto de 2022por Pieter Artz
Servidor web está presente no firmware Arris que pode ser encontrado em vários modelos de roteadores.
servidor web muhttpd
muhttpd (mu HTTP deamon) é um servidor web simples, mas completo, escrito em ANSI C portátil. Ele tem três objetivos principais: ser simples, ser portátil e ser seguro. A simplicidade era o principal objetivo do muhttpd, mas devido à sua simplicidade e amplo uso, também deve priorizar a segurança.
O equipamento nas instalações do cliente (CPE) do ISP geralmente usa esse servidor da Web, e os assinantes do ISP normalmente obtêm esses roteadores em empréstimo para telefonia e acesso à Internet.
Travessia do caminho
Um ataque de passagem de caminho visa acessar arquivos e diretórios armazenados fora da pasta raiz da web. Esses ataques às vezes são chamados de ataques ponto-ponto-barra, pois manipulam variáveis que fazem referência a arquivos com sequências “ponto-ponto-barra (../)” e variações delas para acessar arquivos e diretórios arbitrários.
O servidor muhttpd 1.1.5 (última versão oficial 2010) tem uma vulnerabilidade de passagem de caminho. A versão mais recente do muhttpd é a versão 1.1.7 (lançada em 1º de junho de 2022). Infelizmente, o firmware Arris é baseado na versão vulnerável do muhttpd.
Vulnerabilidades
As falhas de segurança de computador divulgadas publicamente são listadas no banco de dados Common Vulnerabilities and Exposures (CVE). Seu objetivo é facilitar o compartilhamento de dados entre recursos de vulnerabilidade separados (ferramentas, bancos de dados e serviços). Derek Abdine encontrou várias vulnerabilidades, uma das quais é:
CVE-2022-31793 : Percurso de caminho da raiz do sistema de arquivos. A simples adição de um único caractere que não seja um ponto (“.”), barra (“/”) ou ponto de interrogação (“?”) antes do caminho solicitado é suficiente para obter qualquer arquivo regular no dispositivo. Essa vulnerabilidade permite que um invasor remoto não autenticado (nos casos em que a administração remota esteja habilitada) ou qualquer parte local (LAN) obtenha:
- O conteúdo das senhas md5crypt (salted/hashed) em /etc/passwd .
- O SSID e a senha de texto simples das redes Wi-Fi 2G e 5G transmitidas pelo dispositivo.
- Os nomes de usuário e senhas (às vezes criptografadas) de todas as contas de administração no sistema.
- Informações de configuração, incluindo o protocolo TR-069 em uso por um provedor de serviços de Internet (ISP).
- Nomes de usuário (números de telefone) e senhas do Session Initiation Protocol (SIP), incluindo URLs de endpoint SIP.
- Informações de configuração de encaminhamento de porta.
- Outras informações de rede confidenciais, como conexões TCP estabelecidas.
- Vários logs de sistema e firewall.
- Uma lista completa do endereço IP da LAN, nome do host, MAC, tempo de atividade e características do dispositivo, como o sistema operacional e os aplicativos conhecidos de cada dispositivo na LAN.
- O número de série do roteador.
- O certificado e a chave privada para o portal de gerenciamento da web.
- Informações do processo do roteador.
Outras vulnerabilidades
O pesquisador encontrou mais duas vulnerabilidades que não são tão fáceis de explorar:
Desreferência de ponteiro NULL : O servidor muhttpd recebe solicitações HTTP em um soquete sem bloqueio. Conexões de soquete são aceitas e alimentadas a um processo bifurcado para execução. Quando os dados são recebidos, o servidor lê em um loop até que uma sequência de dois caracteres de retorno de carro/nova linha seja recebida. O processamento é então transferido para outro método que tenta analisar o método de solicitação. Injetar um byte NULL no vapor de solicitação fará com que o processo de solicitação (fork do processo do servidor) seja segfault. Uma falha de segmentação (também conhecida como segfault) é uma condição comum que faz com que os programas travem.
Buffer over-read ao defanging URLs: O servidor muhttpd contém um buffer over-read ao lidar com valores codificados por porcentagem. Ao encontrar um percentual “%” na URL, o servidor tenta decodificar os próximos dois caracteres sem verificar os limites. Como resultado, se o URL consistir em “%” sem caracteres a seguir, a função decode_url lerá os dados do URL e as partes do buffer de solicitação que contém a string de versão do protocolo HTTP. Embora não seja explorável na prática, devem ser feitas salvaguardas para evitar o acesso ao espaço de endereço não intencional.
Dispositivos afetados
O servidor muhttpd afetado é usado em produtos de roteador Arris (NVG) baseados em fibra e DSL, bem como em produtos whitelabel/OEM de outros fornecedores. Os provedores de serviços de Internet (ISPs) em todo o mundo normalmente emprestam esses roteadores para seus milhões coletivos de assinantes. Em 2017, por exemplo, especialistas descobriram falhas facilmente exploráveis em modems Arris distribuídos pela AT&T .
Os modelos de roteador Arris que foram considerados vulneráveis são NVG443, NVG599, NVG589, NVG510, bem como variantes personalizadas para ISP, como BGW210 e BGW320. Observe que os roteadores Arris SBR-AC1900P 1.0.7-B05, SBR-AC3200P 1.0.7-B05 e SBR-AC1200P 1.0.5-B05 são vulneráveis a outra vulnerabilidade listada como CVE-2022-26992, que permite que invasores executem comandos por meio de uma solicitação criada.
Pesquisas na Internet revelaram 19.000 roteadores vulneráveis conectados diretamente à Internet. Os proprietários foram informados e a maioria dos dispositivos já foram corrigidos. Tanto o Arris quanto o muhttpd emitiram versões corrigidas, mas como o firmware é difundido e cada ISP gerencia suas próprias atualizações de firmware de forma independente, é provável que esse problema persista por anos.
Mitigação
No momento, não há relatos de que essas vulnerabilidades sejam usadas em estado selvagem, mas agora que as vulnerabilidades são conhecidas e o código de prova de conceito está disponível, pode ser apenas uma questão de tempo até que um ataque seja realizado.
Se o seu roteador usa uma versão vulnerável do muhttpd, é aconselhável desabilitar a administração remota, pois isso limita a exploração das vulnerabilidades aos ataques de LAN. Além disso, obtenha uma versão corrigida o mais rápido possível ou substitua o dispositivo.