Vulnerabilidad de Mullvad VPN: Riesgos de rastreo y parches

Contenido del artículo
En el competitivo ecosistema de las redes privadas virtuales, pocas marcas han logrado ganarse una reputación tan sólida en materia de anonimato absoluto como la firma sueca Mullvad VPN. Sin embargo, incluso los bastiones más robustos de la ciberseguridad enfrentan grietas imprevistas en su blindaje. El pasado 20 de mayo de 2026, la comunidad de la privacidad en internet se vio sacudida cuando se hizo pública una sutil pero de gran alcance vulnerabilidad de Mullvad que afecta la asignación de sus direcciones IP de salida. Este fallo, descubierto inicialmente el 15 de mayo de 2026 por un investigador independiente que opera bajo el seudónimo de “tmctmt”, expone una debilidad estructural en el diseño de enrutamiento que podría permitir a terceros rastrear y correlacionar las actividades de un usuario incluso si este decide cambiar constantemente de servidor para compartimentar su navegación.
A diferencia de los fallos de seguridad tradicionales que filtran información crítica de manera directa, este vector no compromete datos de facturación, ubicaciones geográficas reales ni las claves privadas de los usuarios. En su lugar, el problema radica en la pérdida de la “desvinculabilidad” (o unlinkability), una de las promesas de valor más importantes para periodistas, activistas y entusiastas del anonimato que dependen de la rotación constante de identidades digitales para protegerse del rastreo masivo en la web.
La génesis del hallazgo: El experimento de tmctmt
Para entender la dimensión del problema, es necesario analizar la meticulosa metodología empleada por el investigador “tmctmt”. Sospechando que el proceso de asignación de direcciones IP de salida en los servidores de Mullvad no era tan aleatorio como el proveedor afirmaba, el experto decidió diseñar un script automatizado para auditar el comportamiento de la red. El experimento se estructuró bajo los siguientes parámetros técnicos:
- Generación de claves: El script generó un total de 3,650 claves públicas de WireGuard distintas de forma consecutiva.
- Rotación de servidores: Con cada una de estas claves, el programa inició sesiones de forma remota y saltó a través de un grupo de 9 servidores estratégicamente ubicados en diferentes partes del mundo, incluyendo nodos en Alemania, Australia, Chile, Dinamarca, Finlandia y los Estados Unidos.
- Mapeo de combinaciones: Al recopilar las IP asignadas, se calculó que, teóricamente, el espacio matemático permitía una asombrosa cantidad de más de 8.2 billones (8.2 × 10¹²) de combinaciones posibles de direcciones IP a través de los servidores testeados.
Sin embargo, los resultados prácticos contaron una historia radicalmente distinta. En lugar de una distribución caótica y verdaderamente aleatoria, el script de prueba reveló que las 3,650 claves de prueba produjeron únicamente 284 combinaciones de IP de salida distintas. Este asombroso cuello de botella estadístico confirmó la existencia de un patrón altamente predecible y determinista en la infraestructura de Mullvad.
Comprendiendo la vulnerabilidad de Mullvad: El mecanismo técnico detrás del fallo
El núcleo de la vulnerabilidad de Mullvad se encuentra en la interacción entre la arquitectura de red del proveedor y la forma en que su backend procesa las solicitudes de conexión del protocolo WireGuard. Mullvad se distingue de la mayoría de sus competidores por operar bajo un esquema de “escala vertical” en sus servidores. Mientras que otros proveedores suelen canalizar a miles de usuarios a través de una única dirección IP compartida por servidor, Mullvad asigna múltiples direcciones IP de salida dentro de un rango específico para cada uno de sus 578 servidores en todo el mundo. Esto reduce los bloqueos masivos por parte de sitios web debido al abuso de ciertos usuarios y disminuye la congestión.
El problema no radica en la existencia de este “pool” de IPs de salida, sino en el algoritmo matemático utilizado para decidir qué dirección IP específica le corresponde a cada usuario cuando se conecta. Para realizar esta asignación, el backend de Mullvad (desarrollado principalmente en lenguaje Rust) utilizaba la clave pública de WireGuard del usuario —o, en su defecto, la dirección de túnel interna asignada— como la “semilla” (seed) de un generador de números pseudoaleatorios (PRNG), específicamente invocando una función similar a random_range de Rust.
Debido a que el protocolo de enrutamiento utiliza la clave pública de WireGuard —la cual permanece estática en el dispositivo del usuario y solo rota automáticamente en periodos de entre 1 y 30 días—, la “semilla” proporcionada al generador de números aleatorios se mantenía inalterable. El gran inconveniente del diseño es que el primer valor devuelto por un PRNG determinista utilizando la misma semilla es siempre el mismo float o proporción normalizada. Cuando el servidor de Mullvad escala este valor constante al tamaño de su pool de direcciones IP de salida local, el resultado final es un percentil prácticamente idéntico.
El “Efecto Percentil” en la práctica
Para visualizar este fenómeno con claridad matemática, consideremos cómo se comportaba la asignación de IPs cuando un usuario con una clave de WireGuard estática saltaba de un servidor a otro. Si la semilla del usuario generaba un valor que lo posicionaba en el percentil del 81.8% de las direcciones disponibles, su tráfico se vería reflejado de la siguiente manera:
| Servidor de Destino | Tamaño del Pool de IPs | Posición Asignada (Percentil) | Resultado de la IP de Salida |
|---|---|---|---|
| au-syd-wg-101 (Sídney) | 60 IPs disponibles | 49 (Ratio: ~0.816) | 103.136.147.53 |
| cl-scl-wg-001 (Santiago) | 11 IPs disponibles | 9 (Ratio: ~0.818) | 149.88.104.12 |
| fi-hel-wg-201 (Helsinki) | 66 IPs disponibles | 54
TN Escrito por TempMail NinjaExperto en privacidad digital y seguridad en línea. Apasionado por crear herramientas que protejan la identidad de los usuarios en internet. |


