← voltar
CVE-2018-14847criticalsob ataqueCWE-22

CVE-2018-14847

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 9.1epss 96%
da publicação à arma0 dias
Publicada no NVD2 de ago.
1ª PoC30 de mar.
metasploit2 de ago.
CISA KEV+1217d
probabilidade de exploração
96%top 1% das CVEs
exploração observada
simCISA + VulnCheck
36 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-06-01

Apply updates per vendor instructions.

Resumo

Falha de directory traversal (CWE-22) no serviço WinBox do MikroTik RouterOS que permite a um atacante remoto não autenticado ler qualquer arquivo do sistema de arquivos do roteador — incluindo a base de usuários com credenciais administrativas. Um atacante que já possua credenciais válidas (via essa mesma leitura ou outro meio) pode escrever arquivos arbitrários, o que foi demonstrado permitir escalonamento a shell root via um usuário de desenvolvimento oculto. É explorada ativamente há anos, está no catálogo KEV da CISA e tem módulo Metasploit e múltiplos PoCs públicos — o risco é real e não teórico.

Detalhamento técnico

O componente vulnerável é o binário mproxy, que implementa o protocolo proprietário do WinBox (porta TCP 8291, e também via Layer 2/MAC-Server para dispositivos sem IP configurado). O protocolo trabalha com um mecanismo de sessão/índice que referencia arquivos no sistema de arquivos do RouterOS para transferir componentes da interface. Esse mecanismo não canonicaliza nem valida adequadamente o caminho solicitado pelo cliente, permitindo que sequências de travessia de diretório levem o processo a abrir e devolver arquivos fora da área esperada — um directory traversal clássico (CWE-22).

Como o WinBox aceita conexões antes de qualquer autenticação para negociar a sessão, a leitura arbitrária de arquivos não exige credencial alguma. Isso permite recuperar a base de usuários do dispositivo, expondo login e senha do administrador (em versões afetadas, o esquema de armazenamento permitia recuperação da senha em texto claro pelo atacante, como demonstram os PoCs públicos que implementam a extração diretamente).

A escrita arbitrária de arquivos, por sua vez, exige que o atacante já possua credenciais válidas — não é uma primitiva pré-autenticação. O pesquisador da Tenable (PoC "By the Way") mostrou que, usando credenciais de admin obtidas (inclusive pela própria falha de leitura), é possível escrever um pacote falso em /pckg/option e um arquivo de configuração para habilitar um usuário de desenvolvimento interno ("devel") na build do RouterOS, cujo shell é acessível via Telnet/SSH usando a senha do admin. Isso converte a falha de leitura de credenciais em um caminho completo para shell root no dispositivo.

A CVE descrita pelo NVD cobre apenas até a versão 6.42, mas os PoCs da comunidade mapeiam faixas mais amplas e específicas por branch (Longterm, Stable, Beta), que divergem ligeiramente da descrição oficial — ver seção de versões.

Como é explorada

O vetor primário é rede: qualquer atacante com acesso TCP à porta 8291 (WinBox) do dispositivo consegue, sem autenticação, disparar a leitura de arquivos arbitrários e extrair a base de usuários, obtendo login e senha de administração. Não há necessidade de configuração não padrão — o serviço WinBox habilitado é o único pré-requisito, e em muitos ambientes ele fica exposto à internet por conveniência de gerência remota. Existe também um vetor de Camada 2 (MAC-Server) que funciona mesmo em dispositivos sem IP configurado, bastando estar na mesma rede local.

A escrita arbitrária de arquivos — usada para plantar o backdoor de desenvolvedor e obter shell root — depende de credenciais administrativas válidas, que na prática o próprio atacante acaba de obter explorando a fase de leitura não autenticada. Ou seja, na cadeia completa de ataque a exploração é efetivamente não autenticada de ponta a ponta: lê a senha, depois usa a senha para escrever e escalar.

A exploração é trivial de automatizar (existem PoCs em Python e C++ funcionais publicamente, e módulo Metasploit) e é amplamente usada por botnets e campanhas de comprometimento de roteadores MikroTik desde 2018. A presença no catálogo KEV da CISA confirma exploração ativa continuada no mundo real, não apenas prova de conceito acadêmica.

Versões

Afetadas
Segundo o NVD/descrição oficial: RouterOS até a versão 6.42 (inclusive). Segundo os PoCs da comunidade (BasuCert/WinboxPoC, BigNerd95/WinboxExploit), a janela vulnerável é mais granular por branch: Longterm 6.30.1–6.40.7, Stable 6.29–6.42, Beta 6.29rc1–6.43rc3, com a falha presente desde 2015-05-28 até a correção em 2018-04-20.
Corrigidas em
O MikroTik corrigiu a falha em abril de 2018 (patch anterior à publicação formal da CVE em agosto de 2018). Os PoCs indicam que as versões imediatamente posteriores aos limites vulneráveis por branch (após 6.40.7 no Longterm, após 6.42 no Stable, após 6.43rc3 no Beta) já contêm a correção; para o número exato de build corrigido por branch, consultar o advisory oficial do fornecedor.

Como se proteger

A mitigação definitiva é atualizar o RouterOS para uma versão corrigida — o MikroTik lançou correção em abril de 2018. Consulte o advisory oficial do fornecedor (blog.mikrotik.com/security/winbox-vulnerability.html e mikrotik.com/supportsec/winbox-vulnerability) para a versão exata recomendada para o seu branch (Longterm, Stable ou Beta), já que as versões afetadas variam por branch e a descrição do NVD ("through 6.42") simplifica isso.

Se a atualização imediata não for viável, os paliativos reais são: desabilitar o serviço WinBox se não for usado (/ip service disable winbox); restringir o serviço a endereços IP de gerência confiáveis (/ip service set winbox address=); bloquear a porta 8291 no firewall de borda para tráfego originado da WAN; e restringir o MAC-Server WinBox a interfaces específicas (/tool mac-server mac-winbox), já que o vetor de Camada 2 contorna bloqueios de IP.

Não funciona como mitigação apenas trocar a senha do administrador sem corrigir ou isolar o serviço — como o ataque começa justamente pela leitura não autenticada da credencial, uma senha nova continua exposta pelo mesmo caminho. Expor WinBox diretamente à internet, mesmo com senha forte, permanece de alto risco em versões vulneráveis.

Como detectar

No lado do dispositivo, buscar por acessos anômalos ao serviço WinBox (porta TCP 8291) originados de IPs externos ou não pertencentes à faixa de gerência esperada — especialmente conexões seguidas por autenticações bem-sucedidas com credenciais que não deveriam estar em uso remoto. A criação inesperada de pacotes em /pckg (como um pacote chamado "option") ou arquivos em /flash/nova/etc/devel-login, e logins subsequentes via Telnet/SSH usando o usuário "devel", são indicadores fortes de exploração da cadeia completa de leitura+escrita.

Não há um padrão de log HTTP ou assinatura simples de payload, porque o protocolo WinBox é binário e proprietário — ferramentas de IDS/IPS com decodificação específica do protocolo M2/WinBox são necessárias para detectar as requisições de travessia de diretório com confiabilidade; sem isso, a ausência de sinal não significa ausência de exploração.

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.
MikroTik RouterOS through 6.42 allows unauthenticated remote attackers to read arbitrary files and remote authenticated attackers to write arbitrary files due to a directory traversal vulnerability in the WinBox interface.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Produtos afetados
n/a · n/a
PoCs públicas encontradas36
exploitdbwww.exploit-db.com/exploits/45578não verificadogithubgithub.com/BasuCert/WinboxPoC519githubgithub.com/hacker30468/Mikrotik-router-hack55githubgithub.com/jas502n/CVE-2018-1484730githubgithub.com/sinichi449/Python-MikrotikLoginExploit21githubgithub.com/syrex1013/MikroRoot15githubgithub.com/msterusky/WinboxExploit7githubgithub.com/K3ysTr0K3R/CVE-2018-14847-EXPLOIT6githubgithub.com/mahmoodsabir/mikrotik-beast6githubgithub.com/babyshen/routeros-CVE-2018-14847-bytheway4githubgithub.com/Tr33-He11/winboxPOC1githubgithub.com/tausifzaman/CVE-2018-148471githubgithub.com/mourafuseti/VULNERAVEL-CVE-2018-14847---CREDENCIAIS-EXTRAIDAS1githubgithub.com/yukar1z0e/CVE-2018-148471githubgithub.com/TheMalwareGuardian/CVE-2018-148470vulncheckvulncheck.com/xdb/792af1f0da8fnão verificadovulncheckvulncheck.com/xdb/b611d9ebb286não verificadovulncheckvulncheck.com/xdb/6083a1b3aeebnão verificadovulncheckvulncheck.com/xdb/3a5dba2e76adnão verificadovulncheckvulncheck.com/xdb/3d8ffb2a755anão verificadovulncheckvulncheck.com/xdb/02375d13c888não verificadovulncheckvulncheck.com/xdb/0d4b0748eff2não verificadovulncheckvulncheck.com/xdb/c2186194a7aenão verificadocve_referencewww.exploit-db.com/exploits/45578/não verificadovulncheckvulncheck.com/xdb/572a58ec0205não verificadovulncheckvulncheck.com/xdb/ca877293c1a3não verificadovulncheckvulncheck.com/xdb/64a0a764b901não verificadovulncheckvulncheck.com/xdb/c9e4be4e4345não verificadovulncheckvulncheck.com/xdb/6e85f1153945não verificadovulncheckvulncheck.com/xdb/895d08413809não verificadovulncheckvulncheck.com/xdb/8317dffde425não verificadovulncheckvulncheck.com/xdb/73631394b47anão verificadovulncheckvulncheck.com/xdb/128e7317908anão verificadovulncheckvulncheck.com/xdb/5ae17ea456ebnão verificadovulncheckvulncheck.com/xdb/50f4e94eddfdnão verificadovulncheckvulncheck.com/xdb/81478e4d3f7cnão verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.