← voltar
CVE-2023-39780highsob ataqueCWE-78

CVE-2023-39780

63Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA.

ssvc Actcvss 8.8epss 34%
da publicação à arma
Publicada no NVD11 de set.
CISA KEV+630d
probabilidade de exploração
34%top 2% das CVEs
exploração observada
simCISA + VulnCheck
Ação exigida pela CISAprazo federal: 2025-06-23

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Resumo

Falha de OS command injection autenticada nos roteadores ASUS RT-AX55 rodando o firmware 3.0.0.4.386.51598, explorável via parâmetro qos_bw_rulelist no endpoint /start_apply.htm. Um usuário autenticado no painel administrativo consegue executar comandos como root no dispositivo abusando do recurso de QoS/bandwidth limiter. Está no catálogo KEV da CISA, ou seja, há exploração confirmada em ambiente real, o que eleva a prioridade mesmo sendo uma falha pós-autenticação.

Detalhamento técnico

A vulnerabilidade é uma injeção de comando de SO (CWE-78/CWE-77) no binário sbin/rc do firmware. Quando o parâmetro action_script da requisição HTTP contém a string "restart_qos", a função identificada como FUN_0001e168 desvia a execução para FUN_0006fbcc. Se as variáveis NVRAM qos_enable=1 e qos_type=2 estiverem definidas (ou seja, o QoS por largura de banda — EZQoS — está ativo), FUN_0006fbcc chama FUN_0006cc04.

FUN_0006cc04 abre um script shell temporário em /tmp/qos, lê o valor NVRAM qos_bw_rulelist e o divide em cinco subcampos usando ">" como delimitador. O terceiro subcampo (variável local_22c) é escrito literalmente dentro do script /tmp/qos sem qualquer sanitização de metacaracteres de shell. Em seguida, a função _eval executa a rotina "start" desse script, correndo com os privilégios do processo rc — tipicamente root em firmware embarcado.

O atacante controla integralmente o conteúdo do terceiro campo de qos_bw_rulelist, que normalmente armazenaria um intervalo de endereços MAC de uma regra de limitação de banda. Como esse valor é gravado sem escaping em um script interpretado por shell, backticks, ponto-e-vírgula, pipe e substituição de comando são interpretados normalmente, permitindo execução arbitrária.

O mesmo lote de firmware e a mesma pesquisa expuseram outros pontos de injeção semelhantes no binário rc (por exemplo, via NVRAM oauth_google_auth_code e wan0_ipaddr, disparados por outros valores de action_script), o que reforça que o problema é estrutural — o binário rc grava múltiplos campos controlados por HTTP/NVRAM em scripts shell sem filtrar caracteres especiais. Esses outros pontos correspondem às CVEs irmãs citadas na descrição oficial (CVE-2023-41345/41346/41347/41348), não a este CVE especificamente.

Como é explorada

O vetor é uma requisição POST autenticada para /start_apply.htm no endereço de administração do roteador (por padrão a interface web, tipicamente acessível na LAN). Os pré-requisitos reais são: sessão autenticada válida no painel (cookie de sessão + token CSRF asus_token vigente, obtido em login prévio), action_mode=apply, action_script contendo "restart_qos", e as flags NVRAM qos_enable=1 e qos_type=2 — isto é, o recurso EZQoS de limitação de banda precisa estar habilitado no roteador. O payload malicioso é inserido no terceiro campo de qos_bw_rulelist, delimitado por ">", usando substituição de comando via backtick.

A complexidade de exploração é baixa (AC:L) uma vez satisfeitas essas condições: não há corrida de condição, brute force ou engenharia reversa adicional necessária — o PoC público demonstra o payload funcionando diretamente. O resultado final é execução de comando arbitrário como root, permitindo desde spawn de shell reverso/telnetd em porta arbitrária até persistência via NVRAM, modificação de configuração de DNS/firewall e uso do roteador como ponto de pivô na rede.

O CVSS (PR:L) reflete que basta uma sessão autenticada de baixo privilégio — não é necessário acesso de superadministrador além do login padrão do dispositivo. A superfície real de exposição depende de o painel administrativo estar acessível: por padrão isso é restrito à LAN, mas dispositivos com administração remota habilitada, ou comprometidos previamente por outra falha de autenticação/CSRF, ficam expostos via WAN. A presença desta CVE no catálogo KEV da CISA confirma exploração ativa documentada; a GreyNoise publicou um levantamento sobre uma campanha de backdoor envolvendo roteadores ASUS que referencia esta falha, mas o conteúdo detalhado dessa campanha não foi verificado nas fontes lidas para esta página, então não é reproduzido aqui.

Versões

Afetadas
ASUS RT-AX55, firmware 3.0.0.4.386.51598 (build especificamente citado na descrição oficial da CVE).

Como se proteger

A correção definitiva é atualizar o firmware do RT-AX55 para uma versão posterior a 3.0.0.4.386.51598 diretamente no site de suporte da ASUS para o modelo. As fontes analisadas não confirmam o número exato do build corrigido — não afirme uma versão específica sem checar a página oficial de suporte/download do RT-AX55 antes de considerar o ativo remediado.

Se a atualização não for possível de imediato, controles compensatórios reais: desabilitar a administração remota do painel web (deixar a interface acessível somente pela LAN); desativar o recurso EZQoS/limitador de banda (qos_enable) se não estiver em uso, já que ele é pré-requisito direto da rota de exploração descrita; restringir e segmentar o acesso à interface de gerência via VLAN/ACL; trocar credenciais padrão e usar senhas fortes, já que o ataque exige apenas uma sessão autenticada válida.

O que não funciona como mitigação: um WAF convencional não se aplica aqui, pois o alvo é o próprio painel de gerência embarcado no dispositivo, sem proxy reverso interposto na maioria das instalações domésticas. Filtrar manualmente os caracteres de shell no campo qos_bw_rulelist não é possível do lado do usuário — essa sanitização faz parte do binário rc e só é corrigida por atualização de firmware.

Como detectar

Em logs de acesso ao painel administrativo, procure requisições POST para /start_apply.htm cujo corpo contenha o parâmetro qos_bw_rulelist com caracteres de shell fora do padrão de uma regra de banda (backtick, ponto-e-vírgula, pipe, $, quebra de linha) combinado com action_script contendo "restart_qos" e qos_enable=1/qos_type=2. Também vale monitorar o surgimento de processos telnetd/sshd inesperados no dispositivo ou listeners em portas não documentadas, e alterações em scripts temporários como /tmp/qos.

Roteadores domésticos tipicamente não geram logs detalhados de payload HTTP por padrão, e a maioria dos ambientes não tem captura de tráfego da interface de administração — nesses casos não há sinal confiável disponível além de indicadores pós-comprometimento (processos anômalos, configuração NVRAM alterada, tráfego de saída não esperado), o que é uma limitação real de detecção nesta classe de dispositivo.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
On ASUS RT-AX55 3.0.0.4.386.51598 devices, authenticated attackers can perform OS command injection via the /start_apply.htm qos_bw_rulelist parameter. NOTE: for the similar "token-generated module" issue, see CVE-2023-41345; for the similar "token-refresh module" issue, see CVE-2023-41346; for the similar "check token module" issue, see CVE-2023-41347; and for the similar "code-authentication module" issue, see CVE-2023-41348.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
ASUS · RT-AX55