← back
CVE-2021-35395criticalunder attack

CVE-2021-35395

95Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 98%
from disclosure to weapon
Published on NVDAug 16
CISA KEV+79d
exploitation probability
98%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
Action required by CISAfederal deadline: 2021-11-17

Apply updates per vendor instructions.

Summary

Conjunto de falhas no servidor HTTP de administração (binários 'boa' e 'webs') do Realtek Jungle SDK, usado por dezenas de fabricantes de roteadores e access points embarcados. Combina múltiplos stack buffer overflows e duas injeções de comando de sistema operacional em handlers de formulário da interface web de gerência, permitindo de DoS a execução remota de código como root. O CVSS 9.8 reflete o pior caso (RCE não autenticado), mas a gravidade real em cada dispositivo depende de como o fabricante final customizou e expôs esse SDK — informação que a CVE, por ser sobre um SDK e não um produto específico, não consegue capturar.

Technical detail

A vulnerabilidade é na verdade um agregado de oito falhas distintas nos handlers CGI da interface de administração web do Jungle SDK. Cinco são stack buffer overflows (CWE-121/CWE-20 conforme a fonte) causados por cópia insegura (tipicamente strcpy/sprintf sem checagem de tamanho) de parâmetros de formulário HTTP para buffers de tamanho fixo na pilha: formRebootCheck, formWsc e formWlanMultipleAP falham no parâmetro 'submit-url'; formWlSiteSurvey falha no parâmetro 'ifname'; formStaticDHCP falha no parâmetro 'hostname'; e há uma segunda falha em formWsc no parâmetro 'peerPin'. As outras duas são falhas de injeção de comando (CWE-78): formSysCmd executa o conteúdo do parâmetro 'sysCmd' diretamente via chamada de sistema, e formWsc injeta comando através do parâmetro 'peerPin' (o mesmo parâmetro que também sofre overflow, sugerindo parsing duplo/inseguro).

O atacante controla o corpo do POST enviado a esses endpoints CGI expostos pelo daemon boa ou webs. Como esses binários rodam historicamente sem proteções de pilha (sem ASLR, sem stack canary) em muitos SoCs de rede embarcados, mesmo overflows 'simples' tendem a ser exploráveis para controle de fluxo, não apenas travamento — daí a divergência entre a descrição do NVD (RCE completo, CVSS 9.8) e a classificação do catálogo KEV da CISA, que descreve o efeito prático observado como negação de serviço.

A descoberta faz parte de um lote de vulnerabilidades no mesmo SDK reportado pela IoT Inspector (hoje IoT Inspector/Forescout), que documentou o padrão de reuso desse código de gerência em produtos de múltiplos fabricantes que licenciam o Jungle SDK da Realtek sem revisão de segurança adicional.

How it’s exploited

O vetor é uma requisição HTTP (normalmente POST) para os endpoints CGI de administração (formRebootCheck, formWsc, formWlanMultipleAP, formWlSiteSurvey, formStaticDHCP, formSysCmd) hospedados pelo boa/webs na porta de gerência do dispositivo — em muitos produtos, a interface administrativa também fica acessível pela WAN por configuração padrão ou erro de configuração do integrador, o que explica a inclusão na KEV e a exploração observada em campo. A pré-condição real varia por fabricante: alguns exigem autenticação prévia na interface (sessão de admin válida), outros expõem esses handlers sem autenticação por falha de implementação — a própria descrição oficial destaca que a exploitabilidade 'vai diferir com base no que o vendor final fez com o servidor web do SDK', então não existe uma resposta única de pré-requisito válida para todo produto afetado.

Para os buffers overflow, o atacante envia um valor anormalmente longo no parâmetro vulnerável (submit-url, ifname, hostname ou peerPin), sobrescrevendo o buffer de pilha e, potencialmente, o endereço de retorno — resultado típico é queda do processo (DoS) e, em cenários sem mitigação de pilha, possível desvio de execução. Para formSysCmd e a injeção via peerPin em formWsc, o atacante insere metacaracteres de shell no valor do parâmetro, que é passado a uma chamada de execução de comando do sistema operacional sem sanitização — resultado é execução arbitrária de comando com os privilégios do processo do servidor web, tipicamente root em dispositivos embarcados.

A CVE está no catálogo KEV da CISA com confirmação de exploração ativa, e existe template Nuclei público para varredura/detecção — ambos indicativos de que scanners automatizados e campanhas de botnet de IoT já testam esses endpoints em massa na internet.

Versions

Affected
Realtek Jungle SDK versão v2.x até v3.4.14B (binários de servidor web de administração 'webs', baseado em GoAhead, e 'boa', baseado em Boa) — conforme descrição oficial do fornecedor.
Fixed in
Não identificada uma versão numerada específica do SDK como corrigida nas fontes consultadas. A Realtek publicou advisory conjunto para CVE-2021-35392/CVE-2021-35395 orientando fabricantes licenciados a aplicar patches; a versão de firmware corrigida varia por fabricante final e não foi apurada aqui — verificar diretamente com o fabricante do dispositivo específico.

How to protect

Não há, nas fontes consultadas, uma versão numerada do Jungle SDK identificada explicitamente como 'corrigida'; a Realtek publicou advisory conjunto para CVE-2021-35392 e CVE-2021-35395 (PDF em realtek.com) orientando os fabricantes licenciados a aplicar os patches do SDK, mas a remediação efetiva depende de cada fabricante final lançar firmware atualizado incorporando o SDK corrigido — não existe atualização direta ao usuário via Realtek. Isso significa que a ação prática é: identificar o fabricante e modelo do dispositivo, verificar se ele expõe binário boa ou webs na interface de gerência, e procurar firmware atualizado desse fabricante específico que declare correção para esta CVE ou para o lote de vulnerabilidades do Jungle SDK.

Como controle compensatório quando não há firmware corrigido: desabilitar completamente o acesso remoto/WAN à interface de administração, restringir a interface de gerência a uma VLAN de gestão isolada ou a IPs confiáveis, e trocar credenciais padrão (mitiga apenas os casos onde autenticação é exigida, não os casos de endpoint sem autenticação). Não usar a interface de administração como interface de rede confiável — colocar o segmento de gerência atrás de firewall que bloqueie POST para os caminhos CGI citados reduz a superfície, mas não substitui o patch, já que a falha é na lógica de parsing do próprio handler.

O que não funciona: aplicar apenas um WAF genérico sem regra específica para os parâmetros submit-url/ifname/hostname/peerPin/sysCmd tende a não bloquear a exploração, porque o payload pode ser um valor de comprimento normal com conteúdo malicioso (injeção) e não necessariamente uma string obviamente anômala. Trocar apenas a senha de admin não mitiga os handlers que a descrição indica serem explorados sem verificação adequada de sessão em algumas implementações.

How to detect

Procurar em logs de acesso web (ou tráfego HTTP capturado) por requisições POST para os caminhos CGI /boaform/admin/formRebootCheck, formWsc, formWlanMultipleAP, formWlSiteSurvey, formStaticDHCP e formSysCmd, especialmente com valores de comprimento incomum nos parâmetros submit-url, ifname, hostname ou peerPin, ou contendo metacaracteres de shell (;, |, &, `, $(), backtick) nos parâmetros sysCmd/peerPin. A existência de template Nuclei público sugere que scanners de internet (Shodan-driven ou botnets de IoT) testam esses caminhos indiscriminadamente, então presença isolada de uma requisição não confirma comprometimento — mas volume repetido, fuzzing de comprimento de parâmetro, ou payload de comando de sistema no corpo são sinais fortes de tentativa de exploração. Não há assinatura única confiável porque a exploração final (overflow vs. injeção) e o formato do payload variam por handler e por implementação do fabricante.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Realtek Jungle SDK version v2.x up to v3.4.14B provides an HTTP web server exposing a management interface that can be used to configure the access point. Two versions of this management interface exists: one based on Go-Ahead named webs and another based on Boa named boa. Both of them are affected by these vulnerabilities. Specifically, these binaries are vulnerable to the following issues: - stack buffer overflow in formRebootCheck due to unsafe copy of submit-url parameter - stack buffer overflow in formWsc due to unsafe copy of submit-url parameter - stack buffer overflow in formWlanMultipleAP due to unsafe copy of submit-url parameter - stack buffer overflow in formWlSiteSurvey due to unsafe copy of ifname parameter - stack buffer overflow in formStaticDHCP due to unsafe copy of hostname parameter - stack buffer overflow in formWsc due to unsafe copy of 'peerPin' parameter - arbitrary command execution in formSysCmd via the sysCmd parameter - arbitrary command injection in formWsc via the 'peerPin' parameter Exploitability of identified issues will differ based on what the end vendor/manufacturer did with the Realtek SDK webserver. Some vendors use it as-is, others add their own authentication implementation, some kept all the features from the server, some remove some of them, some inserted their own set of features. However, given that Realtek SDK implementation is full of insecure calls and that developers tends to re-use those examples in their custom code, any binary based on Realtek SDK webserver will probably contains its own set of issues on top of the Realtek ones (if kept). Successful exploitation of these issues allows remote attackers to gain arbitrary code execution on the device.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a