Vulnerabilidad de raíz explotable remotamente en la utilidad ping incluida con FreeBSD

En FreeBSD se ha identificado una vulnerabilidad (CVE-2022-23093) en la utilidad ping incluida en la distribución básica. El problema podría conducir a la ejecución remota de código con privilegios de root al hacer ping a un host externo controlado por un atacante. Se proporcionó una solución en las actualizaciones de FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 y 12.3-RELEASE-p10. Aún no está claro si otros sistemas BSD se ven afectados por la vulnerabilidad identificada (aún no hay informes de vulnerabilidades en NetBSD, DragonFlyBSD y OpenBSD).

La vulnerabilidad se debe a un desbordamiento del búfer en el código de análisis de los mensajes ICMP recibidos en respuesta a una solicitud de verificación. El código para enviar y recibir mensajes ICMP en ping utiliza sockets sin formato y se ejecuta con privilegios elevados (la utilidad viene con el indicador raíz setuid). La respuesta se procesa en el lado del ping mediante la reconstrucción de los encabezados IP e ICMP de los paquetes recibidos desde el socket sin formato. Los encabezados IP e ICMP seleccionados se copian en buffers mediante pr_pack(), sin tener en cuenta que pueden estar presentes encabezados extendidos adicionales en el paquete después del encabezado IP.

Dichos encabezados se extraen del paquete y se incluyen en el bloque de encabezado, pero no se tienen en cuenta al calcular el tamaño del búfer. Si el host, en respuesta a una solicitud ICMP enviada, devuelve un paquete con encabezados adicionales, su contenido se escribirá en un área más allá del límite del búfer en la pila. Como resultado, un atacante puede sobrescribir hasta 40 bytes de datos en la pila, lo que potencialmente permite que se ejecute su código. La gravedad del problema se ve mitigada por el hecho de que en el momento en que ocurre el error, el proceso se encuentra en un estado de aislamiento de llamadas al sistema (modo de capacidad), lo que dificulta el acceso al resto del sistema después de explotar la vulnerabilidad. .

Fuente: opennet.ru

Añadir un comentario