La vulnerabilidad CVE-2026-108555 afecta instancias auto-hospedadas del servicio de intercambio de archivos y expone un patrón de confianza ciega en headers HTTP.
PairDrop, una herramienta de código abierto para transferencia de archivos entre dispositivos en red local, contiene una vulnerabilidad de severidad media que permite a atacantes remotos infiltrarse en salas de descubrimiento ajenas mediante la falsificación de un header HTTP. El fallo, identificado como CVE-2026-108555, afecta a la versión 1.11.2 y todas las anteriores del software. La explotación requiere que el atacante conozca la dirección IP pública de la víctima, pero no necesita acceso físico a la red local ni credenciales de ningún tipo.
El vector de ataque se basa en la manipulación del header cf-connecting-ip, un campo que Cloudflare utiliza para informar la dirección IP real del cliente cuando actúa como proxy inverso. La función Peer._setIP en PairDrop confía en este header sin validación adicional, lo que permite a un atacante remoto forjar su dirección IP aparente y unirse a salas de descubrimiento que deberían estar restringidas a dispositivos dentro de la misma red local. Una vez dentro, el atacante puede aparecer como un dispositivo legítimo con capacidad para enviar o recibir archivos.
Por qué las instancias auto-hospedadas quedan expuestas sin Cloudflare
La vulnerabilidad afecta específicamente a instancias auto-hospedadas de PairDrop que no están protegidas por Cloudflare. Cuando una instancia opera directamente sin un proxy inverso que valide la procedencia del header cf-connecting-ip, cualquier cliente puede inyectar valores arbitrarios en ese campo. El código de PairDrop interpreta ese valor como la dirección IP real del dispositivo y lo utiliza para determinar a qué sala de descubrimiento debe unirse el cliente.
Este diseño asume que el header cf-connecting-ip solo puede ser establecido por Cloudflare, una suposición válida únicamente cuando el tráfico pasa efectivamente por la infraestructura de ese proveedor. En instancias auto-hospedadas sin esa capa de protección, el header se convierte en un campo controlado por el atacante. La ausencia de verificación del origen del header o de mecanismos alternativos de autenticación de red local deja a estas instancias sin defensa contra la suplantación de identidad de red.
El patrón de confianza ciega en headers de proxy que se repite en aplicaciones web
La vulnerabilidad en PairDrop replica un patrón documentado en múltiples aplicaciones web que confían en headers HTTP sin validar su procedencia. Headers como X-Forwarded-For, X-Real-IP o cf-connecting-ip fueron diseñados para que proxies inversos informen la dirección IP del cliente original, pero su presencia en una solicitud HTTP no garantiza que hayan sido establecidos por un proxy legítimo. Cualquier cliente puede incluir estos headers en sus solicitudes, y si la aplicación los consume sin verificar que efectivamente provienen de un proxy de confianza, el campo se convierte en un vector de ataque.
En el caso de PairDrop, la función Peer._setIP no implementa ninguna comprobación de que la solicitud haya pasado por Cloudflare antes de confiar en cf-connecting-ip. Esto contrasta con implementaciones más robustas que validan la dirección IP de origen de la solicitud contra una lista conocida de rangos de IP de Cloudflare, o que solo habilitan el procesamiento de ese header cuando la aplicación está configurada explícitamente para operar detrás de ese proveedor específico.
Exposición en América Latina por adopción de soluciones auto-hospedadas
La vulnerabilidad tiene implicancias particulares en América Latina, donde la adopción de soluciones auto-hospedadas de código abierto es frecuente en pequeñas y medianas empresas, instituciones educativas y equipos de desarrollo que buscan evitar costos de servicios en la nube o cumplir con requisitos de soberanía de datos. PairDrop es una alternativa popular a servicios comerciales de transferencia de archivos precisamente porque permite despliegue local sin dependencia de terceros.
Sin embargo, estas instancias auto-hospedadas rara vez cuentan con la infraestructura de proxy inverso que mitiga la vulnerabilidad. En países como Argentina, México y Colombia, donde el acceso a servicios de CDN (red de distribución de contenido) como Cloudflare puede representar un costo adicional o una complejidad operativa que pequeñas organizaciones prefieren evitar, las instancias de PairDrop quedan expuestas al ataque sin que los administradores necesariamente comprendan que la ausencia de ese proxy introduce un riesgo de seguridad. La vulnerabilidad no requiere conocimientos técnicos avanzados para ser explotada: basta con conocer la IP pública de la víctima y enviar una solicitud HTTP con el header forjado.
Qué permite hacer la explotación exitosa y qué no
Un atacante que explota CVE-2026-108555 puede unirse a la sala de descubrimiento de una red local ajena y aparecer como un dispositivo legítimo dentro de esa red. Esto le permite enviar archivos a dispositivos que confían en que todos los participantes de la sala son locales, o recibir archivos que otros dispositivos intenten compartir dentro de esa sala. El atacante no obtiene acceso a archivos ya almacenados en los dispositivos ni puede ejecutar código remoto: el impacto se limita a la capacidad de participar en sesiones de transferencia de archivos en curso.
La explotación requiere que el atacante conozca la dirección IP pública de la víctima, lo que puede obtenerse mediante técnicas de reconocimiento pasivo o activo, pero no es información que PairDrop exponga por sí mismo. Una vez conocida la IP, el atacante puede mantener presencia en la sala de descubrimiento mientras la instancia de PairDrop permanezca activa, lo que en despliegues auto-hospedados puede significar disponibilidad continua sin rotación de direcciones IP.
Nuestro análisis
CVE-2026-108555 expone una brecha entre el modelo de despliegue asumido por el código de PairDrop y la realidad operativa de sus instancias auto-hospedadas. El software fue diseñado con la expectativa de que las instancias públicas operarían detrás de Cloudflare, pero esa expectativa no se tradujo en validaciones técnicas que impidan el uso del header cf-connecting-ip en ausencia de ese proxy. Este patrón se repite en aplicaciones que adoptan convenciones de infraestructura de servicios en la nube sin implementar las comprobaciones necesarias para que esas convenciones sean seguras en despliegues alternativos.
La clasificación de severidad media por parte de NVD refleja que la explotación requiere conocimiento previo de la IP de la víctima y que el impacto se limita a la participación en transferencias de archivos, sin acceso a datos históricos ni ejecución de código. Sin embargo, para organizaciones que utilizan PairDrop como mecanismo de intercambio de información sensible bajo la asunción de que solo dispositivos locales pueden participar, la capacidad de un atacante remoto de infiltrarse en esas sesiones representa una violación de confianza con consecuencias potencialmente significativas. La pregunta que queda abierta es cuántas otras aplicaciones de código abierto diseñadas para despliegue detrás de proxies específicos contienen vulnerabilidades similares que solo se manifiestan cuando se las opera en configuraciones no previstas por sus desarrolladores.