Una vulnerabilidad en el protocolo UPnP permite ataques Dos y escaneo de red
Hace poco se dio a conocer información sobre la vulnerabilidad (CVE-2020-12695) en el protocolo UPnP, que permite organizar el tráfico de envío a un destinatario arbitrario utilizando el «SUSCRIBIRSE» proporcionado en la operación estándar.
La vulnerabilidad tiene el nombre en código CallStranger y esta vulnerabilidad se puede utilizar para extraer datos de redes protegidas por sistemas de prevención de pérdida de datos (DLP), organizar el escaneo de los puertos de la computadora en la red interna y también para mejorar los ataques DDoS utilizando millones de dispositivos UPnP conectados a la red global, como módems de cable, hogar enrutadores, consolas de juegos, cámaras IP, decodificadores, centros multimedia e impresoras.
Sobre la vulnerabilidad
El problema se debe al hecho de que la función SUSCRIBIRSE proporcionada en la especificación permite que cualquier atacante externo envíe paquetes HTTP con el encabezado de devolución de llamada y use el dispositivo UPnP como proxy para enviar solicitudes a otros hosts.
La función «SUSCRIBIRSE» se define en la especificación UPnP y se utiliza para rastrear cambios en otros dispositivos y servicios. Con el encabezado HTTP de devolución de llamada, puede definir una URL arbitraria a la que el dispositivo intentará conectarse.
CVE-2020-12695 es una vulnerabilidad similar a la falsificación de solicitudes del lado del servidor (SSRF) en dispositivos que utilizan UPnP. La vulnerabilidad existe debido a la capacidad de controlar el valor del encabezado de devolución de llamada en la función SUSCRIBIRSE UPnP.
Para explotar la falla, un atacante necesitaría enviar una solicitud de SUSCRIPCIÓN HTTP especialmente diseñada a un dispositivo vulnerable.
Casi todas las implementaciones de UPnP basadas en especificaciones publicadas antes del 17 de abril se ven afectadas.
La inclusión de la vulnerabilidad se confirmó en el paquete abierto hostapd con la implementación de un punto de acceso inalámbrico (WPS AP).
El problema también afecta a las soluciones basadas en la pila UPnP abierta de pupnp, para la cual aún no se dispone de información de arreglos.
El protocolo UPnP define un mecanismo para detectar automáticamente dispositivos e interactuar con ellos en una red local. Además, el protocolo se diseñó originalmente para su uso en redes locales internas y no proporciona ninguna forma de autenticación y verificación.
A pesar de esto, millones de dispositivos no desactivan el soporte UPnP en interfaces de red externas y permanecen disponibles para solicitudes de la red global. Un ataque puede llevarse a cabo a través de cualquier dispositivo UPnP similar.
Por ejemplo, las consolas Xbox One pueden ser atacadas a través del puerto de red 2869, porque le permiten rastrear cambios a través del comando SUSCRIBIRSE, como compartir contenido.
La Open Connectivity Foundation (OCF) fue notificada del problema a fines del año pasado, pero inicialmente se negó a considerarlo como una vulnerabilidad en la especificación.
Después de un informe repetido más detallado, se reconoció la existencia del problema y la especificación se agregó a la especificación sobre el uso de UPnP solo en interfaces LAN. Dado que el problema es causado por una falla en el estándar, puede llevar mucho tiempo solucionar la vulnerabilidad en dispositivos individuales, y las actualizaciones de firmware pueden no aparecer para dispositivos más antiguos.
Soluciones
La solución aún está disponible en forma de parches, pero todavía no se han publicado las actualizaciones en las distribuciones Debian, OpenWRT, Ubuntu, RHEL, SUSE, Fedora, Arch.
Como soluciones alternativas, se recomienda que se aíslen los dispositivos UPnP de las solicitudes externas con un firewall, bloquee las solicitudes externas de SUSCRIBIR HTTP y NOTIFICAR en los sistemas de prevención de ataques, o deshabilite UPnP en las interfaces de red externas.
Se recomienda a los fabricantes que deshabiliten la función SUSCRIBIRSE en la configuración predeterminada y restrinjan cuando se enciende solo aceptando solicitudes de la red interna.
Para probar la vulnerabilidad en los dispositivos, se ha publicado un kit de herramientas especial, escrito en Python y distribuido bajo la licencia MIT.
Finalmente si quieres conocer mas al respecto sobre esta vulnerabilidad, puedes consultar los detalles en el siguiente enlace.
Fuente: https://www.tenable.com/