
Prova de conceito de exploração para CVE-2022-30114, um estouro de buffer baseado em heap nos roteadores Fastweb FastGate. Envia um cabeçalho HTTP Authorization especialmente elaborado para acionar uma negação de serviço remota por meio do serviço FastCGI cmproxy.
Este script é uma Prova de Conceito (PoC) da CVE-2022-30114 e causa a reinicialização de roteadores domésticos Fastweb FastGate, tanto na versão GPON quanto na VDSL2.
A CVE-2022-30114 é um estouro de buffer baseado em heap no executável 'cmproxy', um programa que lida com requisições HTTP através de um servidor web Lighttpd FastCGI que escuta na porta TCP 8888. Uma requisição HTTP especialmente elaborada permite que um atacante remoto derrube o executável e reinicie o dispositivo, causando uma Negação de Serviço.
Os dispositivos são vulneráveis a um estouro de buffer baseado em heap, causado pela falta de validação do comprimento do valor do cabeçalho HTTP 'Authorization' no serviço web exposto na porta TCP 8888. O serviço é exposto tanto nas interfaces WAN quanto LAN do dispositivo1.
Um atacante remoto, não autenticado, ao enviar uma string maior que 100 bytes no cabeçalho HTTP 'Authorization', causa um estouro em um buffer pré-alocado na seção de memória '.bss' de um arquivo executável chamado 'cmproxy', que lida com requisições HTTP enviadas ao serviço acima mencionado via protocolo FastCGI.
Isso permite sobrescrever a memória heap do processo, fazendo com que o processo se torne corrompido e falhe na primeira alocação de memória. Vale notar que a versão da biblioteca C usada (GNU C Library - glibc v2.24) contém medidas de proteção para detectar corrupção de heap, mas não está descartado, no entanto, que ao aprofundar a análise seja possível sobrescrever estruturas do heap e obter execução de código.
Consulte a Postagem no Blog para obter detalhes.
O acesso pela WAN foi desabilitado como controle compensatório após a primeira divulgação à Fastweb. No momento em que este texto foi escrito, o serviço ainda está exposto na LAN interna. ↩