← voltar
CVE-2020-10221highsob ataqueCWE-78

CVE-2020-10221

83Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 8.8epss 37%
da publicação à arma4 dias
Publicada no NVD8 de mar.
1ª PoC+4d
CISA KEV+605d
probabilidade de exploração
37%top 2% das CVEs
exploração observada
simCISA + VulnCheck
2 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

Falha de OS command injection no rConfig, ferramenta de gerenciamento de configuração de rede, no endpoint lib/ajaxHandlers/ajaxAddTemplate.php. O parâmetro fileName enviado via POST é usado na construção de um comando de sistema sem neutralizar metacaracteres de shell, permitindo execução arbitrária de comandos. O CVSS de 8.8 é alto, mas o vetor PR:L deixa claro que a exploração exige uma sessão autenticada válida no rConfig — não é uma falha pré-autenticação, ao contrário do que a nota curta sugere.

Detalhamento técnico

O ponto vulnerável está em lib/ajaxHandlers/ajaxAddTemplate.php, handler AJAX que trata o upload/cadastro de templates de configuração no rConfig. O valor recebido no campo POST fileName é incorporado na chamada que o backend faz ao sistema operacional (provavelmente via função como exec/system/shell_exec em PHP, embora o trecho exato de código não tenha sido confirmado nas fontes analisadas) sem sanitização de metacaracteres de shell. Isso classifica a falha como CWE-78 (Improper Neutralization of Special Elements used in an OS Command).

O atacante controla o conteúdo do parâmetro fileName na requisição HTTP POST. Como o handler está sob autenticação (a interface administrativa do rConfig exige login), a exploração pressupõe uma conta válida — o vetor CVSS PR:L confirma isso, mesmo com privilégios baixos sendo suficientes.

Essa CVE faz parte de um lote de falhas divulgadas em 2020 no rConfig envolvendo múltiplos handlers AJAX com o mesmo padrão de injeção (concatenação direta de entrada do usuário em comandos de shell), o que indica um problema sistêmico de sanitização de entrada nessa camada da aplicação, não um bug isolado.

Como é explorada

Para explorar, o atacante precisa de credenciais válidas de acesso à interface web do rConfig (autenticação necessária, conforme PR:L). Com uma sessão autenticada, basta enviar uma requisição POST ao endpoint /lib/ajaxHandlers/ajaxAddTemplate.php com o parâmetro fileName contendo metacaracteres de shell (separadores de comando, substituição de comando, pipes) para que o comando injetado seja executado pelo processo do servidor web/PHP. Não há necessidade de interação do usuário e a complexidade de ataque é baixa (AC:L) uma vez obtido o acesso autenticado.

O resultado final é execução de código arbitrário com os privilégios do processo web (tipicamente o usuário do Apache/Nginx/PHP-FPM), o que na prática costuma equivaler a controle total do host onde o rConfig roda, dado que a aplicação frequentemente é executada com permissões elevadas para gerenciar configurações de dispositivos de rede.

Existe PoC pública (PacketStorm, escrito como "rConfig 3.93 Authenticated Remote Code Execution", e o writeup técnico de Engin Demirbilek) documentando a cadeia de exploração. A CISA incluiu a CVE no catálogo KEV em novembro de 2021, confirmando exploração ativa no mundo real, com prazo de correção definido para maio de 2022 — reforçando que a falha foi usada em ataques reais, não apenas em laboratório.

Versões

Afetadas
rConfig até a versão 3.94 (inclusive), conforme descrição oficial da CVE.
Corrigidas em
Não identificada nas fontes consultadas. O advisory do fornecedor com o número de versão corrigida não estava disponível nas referências analisadas; a orientação da CISA é genérica ("aplicar atualizações conforme instruções do fornecedor"), sem apontar release específico.

Como se proteger

A orientação da CISA no KEV é genérica: "aplicar atualizações conforme instruções do fornecedor". Nas fontes analisadas não foi possível confirmar um número de versão específico do rConfig que corrija esta CVE — o registro trata apenas de "rConfig through 3.94" como faixa vulnerável, sem indicar uma versão patcheada. Antes de assumir que uma versão posterior resolve o problema, é necessário validar diretamente no changelog/repositório oficial do projeto.

Como controle compensatório real: restringir o acesso à interface administrativa do rConfig (rede segmentada, VPN, allowlist de IPs), já que a exploração depende de autenticação — reduzir a superfície de contas com acesso a essa interface e revisar credenciais expostas diminui o risco mesmo sem patch. Não expor a interface do rConfig diretamente à internet é o controle mais efetivo dado o histórico de múltiplas RCEs autenticadas encontradas nesse produto no mesmo período.

Não funciona como mitigação: confiar apenas em WAF genérico para bloquear metacaracteres de shell, pois o parâmetro pode ser fragmentado ou codificado; e assumir que exigir autenticação por si só neutraliza o risco — contas de operação de rede com privilégios baixos já são suficientes para explorar (PR:L), então a segmentação de rede e a auditoria de contas são mais relevantes que confiar no gate de login.

Como detectar

Procurar em logs de acesso web (Apache/Nginx) e logs de PHP requisições POST para /lib/ajaxHandlers/ajaxAddTemplate.php contendo no parâmetro fileName metacaracteres de shell como ; | & ` $() > < ou sequências de encoding que os representem. No nível de host, monitorar processos filhos anômalos gerados pelo usuário do servidor web/PHP-FPM (shells, utilitários de rede, downloaders) imediatamente após requisições a esse endpoint.

Não há assinatura única e confiável publicamente documentada nas fontes consultadas além do padrão geral de injeção via esse parâmetro; a ausência de logging de aplicação detalhado no rConfig pode dificultar a detecção retroativa, então a correlação entre logs de acesso e criação de processos no host é o sinal mais prático disponível.

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.
lib/ajaxHandlers/ajaxAddTemplate.php in rConfig through 3.94 allows remote attackers to execute arbitrary OS commands via shell metacharacters in the fileName POST parameter.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.