← volver
CVE-2020-10221highbajo ataqueCWE-78

CVE-2020-10221

83Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.

ssvc Actcvss 8.8epss 37%
de la publicación al arma4 días
Publicada en NVD8 mar
1ª PoC+4d
CISA KEV+605d
probabilidad de explotación
37%top 2% de las CVE
explotación observada
CISA + VulnCheck
2 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumen

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.

Detalle 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.

Cómo se explota

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.

Versiones

Afectadas
rConfig até a versão 3.94 (inclusive), conforme descrição oficial da CVE.
Corregidas en
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.

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.