← back
CVE-2020-5847criticalunder attack

CVE-2020-5847

100Vexday Risk Score

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

ssvc Actcvss 9.8epss 96%
from disclosure to weapon35 days
Published on NVDMar 16
1st PoC+35d
metasploitFeb 10
CISA KEV+597d
exploitation probability
96%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
2 public exploit(s)
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

Unraid, sistema operacional para servidores NAS baseado em Linux, tem uma falha no uso da função PHP extract() na interface web de administração (webGUI) que permite execução remota de código como root em versões até a 6.8.0. A CISA classifica a falha como explorada ativamente (KEV) e nota que ela é encadeável com a CVE-2020-5849 para obter acesso inicial — ou seja, o cenário mais grave (RCE não autenticado) frequentemente depende de duas falhas combinadas, não desta isoladamente.

Technical detail

A causa raiz documentada pelo catálogo KEV da CISA é o uso inseguro da função extract() do PHP na webGUI do Unraid. extract() recebe um array associativo e cria, no escopo corrente, uma variável para cada chave/valor do array — um padrão clássico de CWE-914 (Improper Control of Dynamically-Identified Variables). Quando o array vem de entrada controlada pelo usuário (parâmetros de requisição HTTP) sem whitelist de chaves permitidas, o atacante pode sobrescrever variáveis internas do script que mais adiante são usadas para decidir qual arquivo incluir, qual comando executar ou qual caminho manipular.

O impacto final é execução de código arbitrário porque a webGUI do Unraid roda com privilégios de root no host — não há isolamento de usuário no processo que atende às requisições administrativas. Isso explica por que o CVSS do NVD marca impacto total de confidencialidade, integridade e disponibilidade.

A nota da CISA de que a CVE-2020-5847 é 'chainable with CVE-2020-5849 for initial access' é o dado técnico mais relevante da página: sugere que a rota de extract() por si só pode exigir alguma sessão ou contexto de acesso à webGUI, e que a CVE-2020-5849 (falha distinta, de bypass/acesso inicial) é o que normalmente fornece esse contexto para um atacante remoto sem credenciais. As fontes primárias completas do sysdream (equipe que descobriu e nomeou a falha) e do advisory em Packet Storm não estavam acessíveis no momento da pesquisa — o título original do relatório do sysdream, preservado na URL, é 'Unraid 6.8.0 Unauthenticated Remote Code Execution as root', reforçando que a cadeia completa (5847+5849) resulta em RCE sem autenticação, mesmo que o mecanismo interno exato do extract() (qual endpoint, qual parâmetro, qual variável sobrescrita) não pôde ser confirmado com o conteúdo integral dessas fontes.

How it’s exploited

O vetor é a interface web de administração do Unraid, tipicamente exposta na rede local e, em configurações de risco, diretamente na internet. Existe módulo Metasploit e template Nuclei públicos, além de PoC divulgada, o que baixa bastante a barreira técnica para exploração — qualquer pessoa com as ferramentas certas e acesso de rede ao painel pode tentar.

A pré-condição real que a nota da CISA torna explícita é que a exploração como RCE totalmente não autenticado normalmente depende de encadear esta falha com a CVE-2020-5849, que fornece o acesso inicial. Isso significa que ambientes onde a webGUI já exige autenticação válida e não sofre da falha de acesso da CVE-2020-5849 têm uma superfície de ataque menor do que a manchete '9.8 RCE não autenticado' sugere isoladamente — mas, como as duas falhas afetam a mesma base de código na mesma versão (até 6.8.0), a separação prática entre 'com' e 'sem' a CVE-2020-5849 raramente existe em instalações não corrigidas.

A presença no catálogo KEV da CISA desde novembro de 2021 confirma exploração ativa observada, embora a CISA marque como 'Unknown' se a falha foi usada em campanhas de ransomware. Dado que servidores Unraid costumam hospedar dados pessoais e às vezes ficam expostos por conveniência de acesso remoto, o padrão de exploração esperado é reconhecimento automatizado de painéis expostos seguido de RCE direto como root, sem necessidade de engenharia social ou interação do usuário.

Versions

Affected
Unraid até a versão 6.8.0 (inclusive), conforme a descrição oficial da CVE ('Unraid through 6.8.0').
Fixed in
Não confirmado com precisão nas fontes primárias acessadas nesta pesquisa. É consenso público que a correção chegou em uma release posterior à 6.8.0, mas o número exato dessa versão não foi verificado diretamente no advisory do fornecedor durante esta apuração — confirme no changelog oficial do Unraid antes de considerar o ambiente corrigido.

How to protect

O vendor (Lime Technology / Unraid) publicou correção após a versão 6.8.0, mas o número exato da versão corrigida não pôde ser confirmado diretamente nas fontes lidas nesta pesquisa (o advisory oficial do fornecedor e o anúncio de release correspondente não estavam acessíveis com conteúdo completo no momento da apuração). Antes de aplicar qualquer mitigação, confirme na página de changelog oficial do Unraid qual release imediatamente posterior à 6.8.0 lista correções de segurança e trate essa versão como o piso mínimo.

O controle compensatório mais eficaz enquanto uma atualização não é aplicada é eliminar a exposição da webGUI de administração à internet — restringi-la a rede local ou atrás de VPN corta o vetor de rede necessário para a exploração, já que não há indicação de que a falha exija qualquer interação do usuário além da requisição HTTP em si. Não existe mitigação de configuração dentro do próprio Unraid documentada nas fontes consultadas (nenhuma flag ou opção que desative o uso de extract() na webGUI foi encontrada); a única mitigação real e verificada é reduzir a superfície de rede exposta até a atualização.

O que não funciona como mitigação: assumir que autenticação da webGUI por si só neutraliza o risco. Como a CVE-2020-5847 é encadeável com a CVE-2020-5849 (falha de acesso inicial), depender apenas de credenciais de login sem corrigir ambas as falhas mantém a cadeia completa viável.

How to detect

Não há assinatura de rede ou de log confirmada nas fontes consultadas. Como sinal indireto, monitore acesso à webGUI de administração do Unraid (porta/interface de gerenciamento) partindo de IPs fora da rede de gestão esperada, e revise logs do PHP/webserver do Unraid por erros ou comportamentos anômalos em torno de parâmetros de requisição incomuns nas rotas administrativas. A existência de template Nuclei público permite varredura ativa para confirmar exposição, mas isso detecta vulnerabilidade, não tentativa de exploração pregressa — na ausência de logging detalhado habilitado previamente, não há como confirmar retroativamente se houve exploração.

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.
Unraid through 6.8.0 allows Remote Code Execution.
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
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.