TP-Link Tapo C200: claves hardcodeadas, desbordamientos de búfer y privacidad en la era de la ingeniería inversa asistida por IA
(evilsocket.net)- El análisis del firmware de la cámara IP económica TP-Link Tapo C200 mediante ingeniería inversa asistida por IA reveló múltiples vulnerabilidades de seguridad
- El firmware incluye una clave privada SSL hardcodeada, lo que permite descifrar tráfico HTTPS dentro de la misma red
- Durante el análisis se usaron herramientas de IA (Grok, GhidraMCP, Cline, etc.) para automatizar la comprensión de la estructura del firmware y el análisis del significado de funciones
- Entre las principales vulnerabilidades encontradas están desbordamiento de búfer (CVE-2025-8065), desbordamiento de enteros (CVE-2025-14299) y secuestro de WiFi (CVE-2025-14300); algunas permiten ataques remotos sin autenticación
- Este caso es visto como un ejemplo de cómo la IA mejora la eficiencia de la investigación en seguridad y al mismo tiempo expone vulnerabilidades estructurales en dispositivos IoT
Obtención y descifrado del firmware
- Al hacer ingeniería inversa de la app Android de Tapo, se descubrió un bucket S3 público de TP-Link, desde el cual era posible descargar sin autenticación el firmware de todos los dispositivos
- Comando de ejemplo:
aws s3 ls s3://download.tplinkcloud.com/ --no-sign-request --recursive
- Comando de ejemplo:
- El firmware se descifró usando la herramienta tp-link-decrypt
- La clave RSA puede extraerse del material de publicación de código GPL de TP-Link
- El firmware descifrado está compuesto por una estructura de bootloader, kernel y sistema de archivos raíz SquashFS
Ingeniería inversa asistida por IA
- Se automatizó el análisis del firmware usando Ghidra, GhidraMCP, Cline, Anthropic Opus/Sonnet 4 y otras herramientas
- La IA explicó el rol de las funciones y renombró variables con nombres significativos para mejorar la legibilidad del código
- Gracias a este proceso se mapearon handlers HTTP, protocolos de descubrimiento y rutinas criptográficas
- Se confirmó que la clave privada SSL dentro del firmware no se genera en el arranque, sino que viene integrada
- Un atacante en la misma red puede descifrar tráfico HTTPS
Principales vulnerabilidades
-
CVE-2025-8065 (desbordamiento de memoria en el parser XML SOAP de ONVIF)
- El servidor
/bin/maindel puerto 2020 no tiene validación de límites para la cantidad de elementos XML - Al enviar grandes volúmenes de solicitudes XML se produce desbordamiento de memoria y caída de la cámara
- Puntaje CVSS v4.0: 7.1 (High)
- El servidor
-
CVE-2025-14299 (desbordamiento de enteros en HTTPS Content-Length)
- El servidor HTTPS del puerto 443 procesa el encabezado
Content-Lengthcon atoi() sin validación - En sistemas de 32 bits provoca caídas por desbordamiento
- Puntaje CVSS v4.0: 7.1 (High)
- El servidor HTTPS del puerto 443 procesa el encabezado
-
CVE-2025-14300 (secuestro de WiFi)
- La API
connectAppuede ser accedida sin autenticación y sigue activa incluso después de completar la configuración - Un atacante puede conectar la cámara a una red controlada por el atacante y capturar el tráfico de video
- Puntaje CVSS v4.0: 8.7 (High)
- La API
-
API de escaneo WiFi sin autenticación (
scanApList)- Devuelve SSID, BSSID, intensidad de señal y configuración de seguridad de las redes WiFi cercanas
- Con herramientas como Apple BSSID Locator es posible rastrear la ubicación GPS exacta
- Un atacante remoto puede identificar la ubicación real de la cámara
Divulgación y respuesta
- El 22 de julio de 2025 se realizó el primer reporte al equipo de seguridad de TP-Link, incluyendo PoC y video
- Tras 150 días (19 de diciembre) se hizo la divulgación pública, y luego TP-Link publicó un aviso de seguridad
- TP-Link cuenta con autoridad propia para emitir CVE (CNA), por lo que controla directamente el proceso de reporte y divulgación de vulnerabilidades en sus productos
- En su sitio web usa el menor número de CVE frente a competidores como métrica de marketing, lo que generó críticas por conflicto de interés
Conclusión
- Las herramientas de IA maximizan la eficiencia de la ingeniería inversa y amplían el acceso a la investigación en seguridad
- Sin embargo, claves hardcodeadas, APIs sin autenticación y estructuras de parser débiles dejan en evidencia la falta de seguridad de base en los dispositivos IoT
- El caso de TP-Link muestra de forma simbólica el problema de equilibrio entre la investigación de seguridad en la era de la IA y la responsabilidad de los fabricantes
1 comentarios
Opiniones de Hacker News
Da pena que este tipo de textos mezcle casos de fracaso reales con problemas que hasta FAANG tiene dificultades para resolver. En particular, es un enfoque equivocado tratar de forma crítica la parte de “el repositorio de firmware de TP-Link estaba en un bucket de S3 público sin autenticación”. Más bien, me parece un buen ejemplo de evitar la seguridad por oscuridad (security through obscurity). Este tipo de artículos incluso podría llevar a que la gerencia dé instrucciones erróneas de “reforzar el candado”.
Es muy probable que la mayoría de los otros modelos de cámara también compartan vulnerabilidades de seguridad similares. Según la página de la comunidad de TP-Link, el firmware más reciente del C200 aparece como la versión 1.4.4, pero en el artículo se menciona la 1.4.2. Es decir, sí hubo algunas actualizaciones, pero aparentemente no se aplicaron parches de seguridad.
Por eso mismo, la segmentación de red para IoT es indispensable. Hay que poner todas las cámaras inteligentes y dispositivos IoT en una VLAN separada, y restringir el acceso a internet mediante el firewall. Configuración recomendada para usuarios de cámaras TP-Link:
Al parecer, Thingino soporta el C200.
Yo uso todas mis cámaras en una VLAN sin acceso a internet. Con HomeKit puedo acceder localmente, así que funcionan bien sin app adicional.
Un nivel de seguridad tan deficiente casi parece intencional. Cuesta entender cómo pueden vender millones de unidades sin hacer ni siquiera verificaciones básicas de vulnerabilidades. Creo que la mayoría de las cámaras Wi-Fi de menos de $150 tendrán problemas parecidos. Si de verdad quieres usarlas de forma segura, prácticamente no queda otra que construir tú mismo un adaptador Wi-Fi ↔ Ethernet no propietario.
No sé cuánto tiempo seguirá abierto el repositorio S3 de firmware de TP-Link. Son alrededor de 990GiB de datos, así que estaría bien que alguien hiciera un respaldo en archivo o torrent.
Yo uso esta cámara con Unifi + ONVIF solo para tareas no críticas. La puse en una VLAN separada y le bloqueé internet, y por suerte funciona sin problemas.
Al investigar cámaras, consulté el sitio drmnsamoliu.github.io.
He hecho ingeniería inversa del feed de video de un dron de juguete usando Ghidra y AWS Amazon Q. Probablemente habría sido mucho más rápido si hubiera usado GhidraMCP.