Actualizaciones de seguridad para el servidor proxy Squid

Squid es un popular servidor proxy para web con caché, con desarrollo en software libre publicado bajo licencia GPL (General Public License). Tiene una amplia variedad de utilidades, como acelerar un servidor web guardando en caché peticiones repetidas a DNS, añadir seguridad filtrando el tráfico, entre otros.

¿Qué pasó?

Recientemente Squid publicó avisos de seguridad donde informa la corrección de vulnerabilidades en múltiples versiones de su servidor proxy. Las mismas se identifican como: CVE-2019-12528CVE-2020-8449CVE-2020-8450 y CVE-2020-8517.

Todas éstas fallas identificadas afectan a las siguientes versiones de Squid:

  • Squid 2.x hasta la 2.7.STABLE9.
  • Squid 3.x hasta la 3.5.28.
  • Squid 4.x hasta la 4.9.

El CVE-2019-12528, corresponde a una vulnerabilidad de gestión incorrecta de los datos al traducir listados de servidores FTP en respuestas HTTP, esto permite la divulgación de información confidencial de la memoria de almacenamiento dinámico, así como la información asociada a las sesiones de otros usuarios o procesos que no son de Squid.

El CVE-2020-8449, está asociada a una validación incorrecta de las entradas, con lo que Squid puede interpretar solicitudes HTTP especialmente diseñadas para acceder a recursos del servidor que se encuentran prohibidos por los filtros de seguridad, evadiendo así los controles de seguridad, y además permite realizar una denegación de servicio (DOS) en el proxy y todos los clientes que lo utilizan.

El CVE-2020-8450, se da debido a gestión incorrecta del búfer, en el cual un atacante remoto puede causar un desbordamiento de búfer (buffer overflow) en una instancia de Squid que actúa como proxy inverso.

Con respecto al CVE-2020-8517, el mismo está vinculado a la gestión incorrecta del búfer en el binario ext_lm_group_acl al momento de procesar las credenciales de autenticación NTLM (NT LAN Manager), el analizador de credenciales de autenticación puede escribir en la memoria fuera del búfer de credenciales, esto puede dar como resultado que el proceso auxiliar finalice inesperadamente, el proceso Squid también finalice y se produzca una denegación de servicio (DOS) para todos los clientes que usan el proxy.

Recomendaciones:

  • Actualizar Squid a la versión 4.10, disponible en su sitio web oficial. El error se resuelve en esa versión.
  • Por otra parte, si por algún motivo no es posible actualizar, Squid recomienda aplicar los parches de seguridad, para:
    • CVE-2019-12528:
      • Squid versión 3, ver aquí.
      • Squid versión 4, ver aquí.
    • CVE-2020-8517:
      • Squid versión 3.5, ver aquí.
      • Squid versión 4, ver aquí.
    • CVE-2020-8449 y CVE-2020-8450:
      • Squid versión 3.5, ver aquí.
      • Squid versión 4.8, ver aquí.
      • Squid versión 4.9, ver aquí.

Además como solución provisoria Squid recomienda:

  • CVE-2019-12528:
    • Deshabilitar las funciones FTP, para ello se debe:
    • Eliminar del archivo squid.conf la línea acl Safe_ports 21”.
    • Agregar al archivo squid.conf la línea “acl FTP proto FTP http_access deny FTP”.
  • Si se desea mantener las funciones FTP, para reducir la fuga de información se debe:
    • Eliminar del archivo squid.conf la línea “memory_pools off”.
  • CVE-2020-8517:
    • Eliminar del archivo squid.conf la línea “auth_param NTLM …”.
    • O reemplazar el binario ext_lm_group_acl de las versiones vulnerables por el binario ext_lm_group_acl creado en las versiones 4.10 o superiores de Squid.

Referencias:

Compartir: