Una vulnerabilidad en pppd y lwIP permite la ejecución remota de código con privilegios de root

En el paquete pppd se ha detectado vulnerabilidad (CVE-2020-8597), que permite ejecutar su propio código mediante el envío de solicitudes de autenticación especialmente formateadas a sistemas que utilizan el protocolo PPP (Protocolo Punto a Punto) o PPPoE (PPP sobre Ethernet). Estos protocolos son comúnmente utilizados por los proveedores para establecer conexiones a través de Ethernet o DSL, y también se utilizan en algunas VPN (por ejemplo, pptpd y openfortivpn). Para verificar la vulnerabilidad de sus sistemas ante este problema preparado prototipo de exploit.

La vulnerabilidad es causada por un desbordamiento de búfer en la implementación del protocolo de autenticación EAP (Protocolo de Autenticación Extensible). El ataque puede llevarse a cabo en la etapa previa a la autenticación al enviar un paquete de tipo EAPT_MD5CHAP, que incluye un nombre de host muy largo que no cabe en el búfer asignado. Debido a un error en la verificación del tamaño del campo rhostname, el atacante puede sobrescribir datos más allá del búfer en la pila, logrando así la ejecución remota de su código con privilegios de root. La vulnerabilidad se manifiesta tanto del lado del servidor como del cliente, es decir, no solo el servidor puede ser atacado, sino también el cliente que intenta conectarse a un servidor controlado por el atacante (por ejemplo, un atacante puede primero comprometer el servidor a través de la vulnerabilidad y luego comenzar a afectar a los clientes que se conectan).

El problema afecta a las versiones pppd desde la 2.4.2 hasta la 2.4.8 inclusive y se ha corregido en forma de parche. La vulnerabilidad también afecta la pila lwIP, pero en la configuración predeterminada de lwIP el soporte para EAP no está habilitado.

El estado de la resolución del problema en las distribuciones se puede consultar en las siguientes páginas: Debian, Ubuntu, RHEL, Fedora, SUSE, OpenWRT, Arch, NetBSD. En RHEL, OpenWRT y SUSE, el paquete pppd se compila con la protección 'Stack Smashing Protection' (modo '-fstack-protector' en gcc), lo que limita la explotación a través de fallos. Además de las distribuciones, la vulnerabilidad también se ha confirmado en algunos productos Cisco (CallManager), TP-LINK y Synology (DiskStation Manager, VisualStation VS960HD y Router Manager), que utilizan el código pppd o lwIP.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster