En el paquete pppd (), 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 ). Para verificar la vulnerabilidad de sus sistemas ante este problema 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 desde la 2.4.2 hasta la 2.4.8 inclusive y se ha corregido en forma de . La vulnerabilidad también la pila , 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: , , , , , , , . 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 (CallManager), y Synology (DiskStation Manager, VisualStation VS960HD y Router Manager), que utilizan el código pppd o lwIP.
Fuente: opennet.ru
