jueves, 21 de septiembre de 2017

Múltiples vulnerabilidades en Samba

Se han confirmado tres vulnerabilidades en las versiones de Samba anteriores a la 4.4.16, 4.5.14 y 4.6.8, que podrían permitir a un atacante remoto secuestrar una conexión samba y acceder a información sensible a través de ataques de hombre en el medio.




Samba es un software libre que permite acceder y utilizar archivos, impresoras y otros recursos compartidos en una intranet o en Internet utilizando el protocolo de Microsoft Windows. Está soportado por una gran variedad de sistemas operativos, como Linux, openVMS y OS/2. Está basado en los protocolos SMB (Server Message Block) y CIFS (Common Internet File System).

La primera vulnerabilidad, etiquetada con CVE-2017-12150, permitiría a un atacante remoto realizar ataques 'man in the middle' y obtener información sensible aprovechando que algunos mensajes 'SMB' se transmiten sin firmar:

  • En el cliente samba, cuando se utiliza el parámetro '-e' para cifrar la conexión con el servidor, no se asegura la negociación de la firma para los comandos 'smb2mount -e', 'smbcacls -e' y 'smbcquotas -e'. Este fallo tiene relación con la vulnerabilidad CVE-2015-5296, corregida de forma incompleta en las versiones de Samba posteriores a la 3.2.0 y 4.3.2.
  • El componente 'samba.samba3.libsmb_samba_internal' para la librería de Python no tiene en cuenta la opción 'client signing' del fichero de configuración 'smb.conf' y envía los mensajes sin firmar.
  • La librería 'libgpo' tampoco fuerza la firma cuando hace una consulta de las políticas de grupo.
  • Las herramientas 'smbclient', 'smbcacls' y 'smbcquotas' permiten conexiones anónimas en caso de fallo cuando se utiliza el parámetro '--use-ccache'.

El siguiente fallo (CVE-2017-12151) permitiría a un atacante remoto leer y alterar documentos a través de un ataque 'man in the middle' debido a que no se mantiene el cifrado cuando se realizan redirecciones 'DFS' (en un sistema de archivos distribuido) con conexiones de tipo 'SMB3'. Este error se ha corregido en las versiones 4.6.8, 4.5.14 y 4.4.16 de Samba.

La útima vulnerabilidad corregida (CVE-2017-12163) permitiría a un cliente con permisos de escritura volcar el contenido de la memoria del servidor en un fichero o en una impresora. Esto es debido a que no se comprueba correctamente el rango de datos que envía el cliente, lo que podría provocar que el servidor completara la operación de escritura con datos almacenados en la memoria. Estos fallos han sido corregidos en las versiones de Samba posteriores a la 4.6.8, 4.5.14 y 4.4.16.

Se han publicado parches para solucionar estas vulnerabilidades en
http://www.samba.org/samba/security/



Francisco Salido
fsalido@hispasec.com

Más información:

SMB1/2/3 connections may not require signing where they should
https://www.samba.org/samba/security/CVE-2017-12150.html

SMB3 connections don't keep encryption across DFS redirects
https://www.samba.org/samba/security/CVE-2017-12151.html

Server memory information leak over SMB1
https://www.samba.org/samba/security/CVE-2017-12163.html