TP-Link Tapo C200: chave hardcoded, buffer overflow e privacidade na era da engenharia reversa com IA
(evilsocket.net)- A análise do firmware da câmera IP TP-Link Tapo C200 de baixo custo com engenharia reversa assistida por IA revelou várias vulnerabilidades de segurança
- O firmware inclui uma chave privada SSL hardcoded, permitindo a descriptografia do tráfego HTTPS na mesma rede
- Durante a análise, foram usadas ferramentas de IA (Grok, GhidraMCP, Cline etc.) para automatizar a compreensão da estrutura do firmware e a análise semântica das funções
- As principais vulnerabilidades encontradas incluem buffer overflow (CVE-2025-8065), integer overflow (CVE-2025-14299) e sequestro de WiFi (CVE-2025-14300), algumas delas exploráveis remotamente sem autenticação
- O caso é visto como um exemplo de como a IA aumenta a eficiência da pesquisa em segurança ao mesmo tempo em que expõe vulnerabilidades estruturais em dispositivos IoT
Obtenção e descriptografia do firmware
- Ao fazer engenharia reversa do app Android do Tapo, foi encontrado um bucket S3 público da TP-Link, permitindo baixar o firmware de todos os dispositivos sem autenticação
- Comando de exemplo:
aws s3 ls s3://download.tplinkcloud.com/ --no-sign-request --recursive
- Comando de exemplo:
- A descriptografia do firmware foi realizada com a ferramenta tp-link-decrypt
- A chave RSA pode ser extraída do material de código GPL divulgado pela TP-Link
- O firmware descriptografado é composto pela estrutura de bootloader, kernel e sistema de arquivos raiz SquashFS
Engenharia reversa com IA
- A análise do firmware foi automatizada com Ghidra, GhidraMCP, Cline e Anthropic Opus/Sonnet 4
- A IA explicou a função de cada rotina e renomeou variáveis de forma significativa, melhorando a legibilidade do código
- Com isso, foi possível mapear handlers HTTP, protocolo de descoberta e rotinas de criptografia
- Também foi confirmado que a chave privada SSL no firmware não é gerada no boot, mas embutida
- Um atacante na mesma rede pode descriptografar o tráfego HTTPS
Principais vulnerabilidades
-
CVE-2025-8065 (overflow de memória no parser SOAP XML do ONVIF)
- O servidor
/bin/mainna porta 2020 não faz verificação de limites para a quantidade de elementos XML - O envio de um grande volume de requisições XML causa overflow de memória e crash da câmera
- Pontuação CVSS v4.0: 7.1 (High)
- O servidor
-
CVE-2025-14299 (integer overflow no Content-Length do HTTPS)
- O servidor HTTPS na porta 443 processa o cabeçalho
Content-Lengthcomatoi()sem validação - Em sistemas 32-bit, isso causa crash por overflow
- Pontuação CVSS v4.0: 7.1 (High)
- O servidor HTTPS na porta 443 processa o cabeçalho
-
CVE-2025-14300 (sequestro de WiFi)
- A API
connectAppode ser acessada sem autenticação e permanece ativa mesmo após a configuração inicial - Um atacante pode conectar a câmera a uma rede controlada pelo invasor e interceptar o tráfego de vídeo
- Pontuação CVSS v4.0: 8.7 (High)
- A API
-
API de varredura de WiFi sem autenticação (
scanApList)- Retorna SSID, BSSID, intensidade do sinal e configurações de segurança das redes próximas
- Com ferramentas como Apple BSSID Locator, é possível rastrear a localização GPS exata
- Um atacante remoto pode identificar a localização real da câmera
Processo de divulgação e resposta
- O primeiro reporte à equipe de segurança da TP-Link foi feito em 22 de julho de 2025, incluindo PoC e vídeo
- A divulgação ocorreu após 150 dias (19 de dezembro), e depois disso a TP-Link publicou um aviso de segurança
- A TP-Link possui autoridade própria para emissão de CVE (CNA), controlando diretamente o processo de reporte e divulgação de vulnerabilidades em seus produtos
- Foi apontado um conflito de interesse, já que a empresa usa em seu site um número menor de CVEs que concorrentes como métrica de marketing
Conclusão
- Ferramentas de IA maximizam a eficiência da engenharia reversa e ampliam a acessibilidade da pesquisa em segurança
- Porém, chaves hardcoded, APIs sem autenticação e parsers frágeis revelam a ausência de segurança fundamental em dispositivos IoT
- O caso da TP-Link simboliza o problema do equilíbrio entre pesquisa em segurança na era da IA e a responsabilidade dos fabricantes
1 comentários
Comentários do Hacker News
É uma pena quando textos assim misturam casos reais de fracasso com problemas que até a FAANG tem dificuldade para resolver, e fazem a crítica desse jeito
Em especial, tratar de forma crítica a parte de que “o repositório de firmware da TP-Link estava em um bucket S3 público sem autenticação” é uma abordagem equivocada
Na verdade, considero isso um bom exemplo de evitar segurança por obscuridade (security through obscurity)
Um texto assim pode até acabar levando a diretoria a dar ordens erradas de “trancar mais” as coisas
Textos escritos por IA tendem a carecer de nuances sutis e a tratar tudo de forma exageradamente nova, boa ou ruim
Não é um texto ruim, mas é preciso ler com cuidado. Hoje em dia, a maioria dos posts que aparecem no HN parece ter recebido ajuda de IA
Eu mesmo já escrevi vários textos assim, e este foi realmente interessante
Na prática, “como o firmware foi obtido” é a parte menos importante dessa história
É bem provável que a maioria dos outros modelos de câmera também compartilhe vulnerabilidades de segurança parecidas
Segundo a página da comunidade da TP-Link, o firmware mais recente da C200 aparece como 1.4.4, mas no artigo é citado o 1.4.2
Ou seja, houve algumas atualizações, mas aparentemente correções de segurança não foram incluídas
Muitos fabricantes trabalham no modelo de vender hardware comum com outra marca
Textos relacionados: Part 1, Part 2
É por isso que a segmentação da rede IoT é essencial
Todas as câmeras inteligentes e dispositivos IoT devem ficar em uma VLAN separada, com o acesso à internet restrito por firewall
Configurações recomendadas para usuários de câmeras TP-Link:
O problema das chaves hardcoded é especialmente grave e afeta toda a linha de produtos
Ele não tinha separado os dispositivos IoT por VLAN e também não havia nenhum sistema de alerta
No fim, ele aprendeu naquele dia, na prática, a importância da separação por VLAN e das restrições de acesso
Acho que muita gente deve estar expondo a rede interna de forma parecida
O Thingino supostamente oferece suporte à C200
Para confirmar o chipset exato, é preciso consultar o OpenIPC
Se você tiver uma câmera compatível, vale muito a pena testar
Eu uso todas as câmeras em uma VLAN sem acesso à internet
O acesso local funciona via HomeKit, então tudo roda bem mesmo sem aplicativo separado
Esse nível de descuido com segurança parece quase intencional
É difícil entender como se vende milhões de unidades sem sequer fazer verificações básicas de vulnerabilidade
Acho que a maioria das câmeras Wi‑Fi abaixo de $150 deve ter problemas parecidos
Se quiser usar algo realmente seguro, a única saída é montar por conta própria um adaptador Wi‑Fi ↔ Ethernet não proprietário
Descontando hardware, embalagem, logística, testes, devoluções etc., sobra menos de $5 de lucro por unidade
Gastar mais $100.000 em desenvolvimento extra equivale a queimar 20.000 unidades
Em uma empresa com uma linha de produtos tão grande quanto a TP-Link, esse custo pode virar dezenas de milhões de dólares por ano
No fim, o modelo acaba sendo embarcar o produto com o mínimo de desenvolvimento possível
Quem tem mais familiaridade técnica pode montar um ambiente somente local com o firmware do Thingino
Não sei até quando o repositório S3 de firmware da TP-Link vai continuar aberto
São cerca de 990GiB de dados, então seria bom se alguém fizesse backup em arquivo ou torrent
Eu uso essa câmera com Unifi + ONVIF apenas para funções não críticas
Ela está em uma VLAN separada e sem acesso à internet, e felizmente continua funcionando normalmente
Ao investigar a câmera, consultei o site drmnsamoliu.github.io
Já tentei fazer engenharia reversa do feed de vídeo de um drone de brinquedo usando Ghidra e AWS Amazon Q
Acho que teria sido bem mais rápido se eu tivesse usado o GhidraMCP