Se ha descubierto un error muy grave de desbordamiento de búfer en el
popular sistema de detección de intrusos (IDS) open-source Snort.
El búfer sin comprobar reside en el código que realiza el preproceso
de RPCs. El problema consiste en que Snort no comprueba el tamaño de
paquetes fragmentados con el que queda disponible en el buffer de
preprocesamiento.
Un usuario malicioso podría explotar este problema mediante el envío
de paquetes RPC especialmente modificados a un sistema monitorizado
por este IDS, lo que provocará el citado desbordamiento. Además,
permite la ejecución de código arbitrario con los mismos privilegios
que tenga Snort (con frecuencia suele ser root).
La explotación con éxito de la vulnerabilidad no generará entradas en
el archivo log. Se ha comprobado que mecanismos de protección como la
implementación de una pila no ejecutable es ineficaz para proteger
contra la explotación de esta vulnerabilidad.
Como medida de protección temporal, se puede desactivar el
preprocesador RPC comentando la siguiente línea del archivo
«snort.conf»: preprocessor rpc_decode
Sería conveniente que, además, Snort corriese como un usuario con
privilegios bajos en el entorno chroot. Esto reduciría el posible
impacto en una vulnerabilidad explotada con éxito, dando a los
administradores de sistema mas tiempo para reaccionar si un sistema
se ve afectado.
Se recomienda actualizar a la versión 1.9.1 disponible en:
http://www.snort.org/dl/snort-1.9.1.tar.gz. De igual forma las
principales distribuciones de Linux ya han publicado paquetes
con la versión actualizada de Snort.
jcanto@hispasec.com
Más información:
Snort RPC Preprocessing Vulnerability
http://www.iss.net/issEn/delivery/xforce/alertdetail.jsp?oid=21951
Snort RPC Preprocessing Buffer Overflow
http://www.secunia.com/advisories/8195/
Vulnerability Note VU#916785
Snort RPC preprocessing buffer overflow when decoding fragmented RPC records
http://www.kb.cert.org/vuls/id/916785
Deja una respuesta