Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-19586 — PoC em Python explorando o CVE-2026-19586, uma injeção de comandos não autenticada no TP-Link Omada SSL VPN que executa comandos arbitrários como root por meio de injeção no nome de usuário do OpenVPN. | Kitploit
Ferramentas/GitHubGitHub/mattgsys/cve-2026-19586
Segurança de Sistemas EmbarcadosSegurança IoTAnálise de VulnerabilidadesExploraçãoSegurança de RedeCriptografiaTestes de PenetraçãoComando e ControleFerramenta de Acesso Remoto
GitHubmattgsys/cve-2026-19586

CVE-2026-19586

PoC em Python explorando o CVE-2026-19586, uma injeção de comandos não autenticada no TP-Link Omada SSL VPN que executa comandos arbitrários como root por meio de injeção no nome de usuário do OpenVPN.

1há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

CVE-2026-19586 (PoC)

TP-Link Omada SSL VPN RCE Não Autenticado (CVE-2026-19586)

Visão Geral

Uma vulnerabilidade de injeção de comando (CWE-78) no caminho de autenticação do SSL VPN do firmware do gateway TP-Link Omada permite que um atacante não autenticado execute comandos arbitrários como root. Quando o servidor SSL VPN baseado em OpenVPN está habilitado, o OpenVPN passa o nome de usuário enviado pelo cliente que se conecta para /usr/sbin/checkpsw.sh, o script conectado à diretiva auth-user-pass-verify. Esse script insere o nome de usuário sem aspas em um programa awk, de modo que um nome de usuário contendo aspas duplas fecha o literal de string do awk no qual é colado e o restante é interpretado como código-fonte awk.

Um bloco BEGIN do awk é executado uma vez antes que a primeira linha de entrada seja lida, então a chamada system() injetada é executada antes que a senha enviada seja comparada com qualquer coisa, como root.

O servidor não exige certificado de cliente e não possui chave tls-auth ou tls-crypt, e seu certificado CA está embutido na imagem do firmware. O ca.crt neste repositório é esse certificado, e é idêntico em todos os dispositivos que executam o firmware afetado, então qualquer atacante que consiga alcançar a porta VPN pode completar o handshake TLS e alcançar a injeção sem credenciais e sem acesso prévio ao dispositivo.

O nome de usuário não pode conter espaços literais, porque o shell divide a expansão sem aspas em argumentos separados antes que o awk a veja. Use ${IFS} em seu lugar, que o shell invocado por system() expande de volta para um espaço. O OpenVPN limita o nome de usuário a 128 bytes; o esqueleto do payload usa 22 deles, deixando 106 para o comando.

Esta Prova de Conceito (PoC) foi testada contra o TP-Link Omada ER7212PC v2 (firmware 6.1.0.19). O script vulnerável é compartilhado em toda a linha de gateways Omada; caminhos, números de linha e comportamento podem diferir em outros modelos ou versões de firmware.

Aviso

Esta PoC entrega um payload de nome de usuário que é executado como root no dispositivo alvo. Este problema foi reportado à TP-Link e corrigido nas versões de firmware listadas no aviso; execute isto apenas contra hardware que você possui ou está explicitamente autorizado a testar.

Uso

root@kitploit:~
$ sudo python3 cve-2026-19586.py <target> -c '<command>'

O cliente openvpn é necessário, e deve ser executado como root, pois precisa de CAP_NET_ADMIN para criar o dispositivo tun. Este é um requisito do cliente OpenVPN local, não do alvo.

Exemplo de execução:

root@kitploit:~
$ sudo python3 cve-2026-19586.py 10.0.0.100 -c 'id>/tmp/proof'

TP-Link Omada SSL VPN Unauthenticated RCE (CVE-2026-19586) - OpenVPN Username Injection
  Target      : 10.0.0.100:1194/udp
  CA cert     : ca.crt
  Command     : id>/tmp/proof
  Username    : x";BEGIN{system("id>/tmp/proof")};#

[*] Running: openvpn --client --dev tun --proto udp --remote 10.0.0.100 1194 --resolv-retry 1 --nobind --ca ca.crt --remote-cert-tls server --cipher AES-256-CBC --data-ciphers-fallback AES-256-CBC --reneg-sec 0 --auth-user-pass /tmp/ovpn_creds_m0ycjowy.txt --auth-nocache --verb 3

[openvpn client output]

O comando é executado no dispositivo antes que a autenticação seja concluída, então o próprio cliente OpenVPN não se conectará. A tentativa de autenticação falha e o cliente encerra, o que é esperado.

Links

  • Writeup Completo: https://mattg.systems/posts/cve-2026-19586/
  • Registro CVE: https://www.cve.org/cverecord?id=CVE-2026-19586
  • Aviso de Segurança da TP-Link: https://www.tp-link.com/us/support/faq/5256/
Baixar ferramenta
ArgumentoDescrição
targetIP ou hostname do dispositivo alvo
-c, --commandComando a executar como root no alvo. Use ${IFS} no lugar de espaços
-p, --portPorta UDP do SSL VPN (padrão: 1194)
--caCertificado CA extraído do firmware (padrão: ca.crt)