viernes, 29 de agosto de 2014

Denegación de servicio en Squid

Se ha solucionado una vulnerabilidad de denegación de servicio en SQUID versiones 3.x (hasta 3.2.12) y 3.4 (hasta 3.4.6). 

Squid es uno de los servidores proxys más populares, en gran parte por ser de código abierto y multiplataforma (aunque sus comienzos fueron para sistemas Unix).

El problema reside en la validación incorrecta de las entradas en el tratamiento de peticiones de tipo Range. Un atacante remoto podría aprovechar este problema para provocar condiciones de denegación de servicio.

Los problemas están solucionados en las versiones Squid 3.3.13 y 3.4.7, o se puede también aplicar los parches disponibles desde:
Squid 3.0:
Squid 3.1:
Squid 3.2:
Squid 3.3:
Squid 3.4:

Como contramedida se pueden añadir en el archivo squid.conf y antes de cualquier línea http_access allow, las siguientes líneas de control de acceso:
 
 acl validRange req_header Range \
  ^bytes=([0-9]+\-[0-9]*|\-[0-9]+)(,([0-9]+\-[0-9]*|\-[0-9]+))*$
 
 acl validRange req_header Request-Range \
  ^bytes=([0-9]+\-[0-9]*|\-[0-9]+)(,([0-9]+\-[0-9]*|\-[0-9]+))*$
 
 http_access deny !validRange

Más información:

Squid Proxy Cache Security Update Advisory SQUID-2014:2






Antonio Ropero
Twitter: @aropero


No hay comentarios:

Publicar un comentario en la entrada