Vulnerabilidade raíz explotada remotamente na utilidade ping de FreeBSD

En FreeBSD, identificouse unha vulnerabilidade (CVE-2022-23093) na utilidade ping incluída na distribución básica. O problema podería levar á execución remota de código con privilexios de root ao facer ping a un host externo controlado por un atacante. Proporcionouse unha corrección nas actualizacións de FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 e 12.3-RELEASE-p10. Aínda non está claro se outros sistemas BSD están afectados pola vulnerabilidade identificada (aínda non hai informes de vulnerabilidades en NetBSD, DragonFlyBSD e OpenBSD).

A vulnerabilidade é causada por un desbordamento do búfer no código de análise das mensaxes ICMP recibidas en resposta a unha solicitude de verificación. O código para enviar e recibir mensaxes ICMP en ping usa sockets en bruto e execútase con privilexios elevados (a utilidade vén coa marca de root setuid). A resposta procédese no lado do ping mediante a reconstrución das cabeceiras IP e ICMP dos paquetes recibidos do socket en bruto. As cabeceiras IP e ICMP seleccionadas son copiadas nos búferes mediante pr_pack(), sen ter en conta que poden estar presentes cabeceiras adicionais estendidas no paquete despois da cabeceira IP.

Estes encabezados extráense do paquete e inclúense no bloque de cabeceira, pero non se teñen en conta ao calcular o tamaño do búfer. Se o host, en resposta a unha solicitude ICMP enviada, devolve un paquete con cabeceiras adicionais, o seu contido escribirase nunha área máis aló do límite do búfer na pila. Como resultado, un atacante pode sobrescribir ata 40 bytes de datos na pila, permitindo potencialmente a execución do seu código. A gravidade do problema vese mitigada polo feito de que no momento en que se produce o erro, o proceso está nun estado de illamento de chamadas do sistema (modo de capacidade), o que dificulta o acceso ao resto do sistema despois de explotar a vulnerabilidade. .

Fonte: opennet.ru

Engadir un comentario