Se han detectaron seis vulnerabilidades en Netatalk, utilizado en NAS y varias distribuciones

Se dio a conocer la noticia de que detectaron seis vulnerabilidades ades en el servidor Netatalk, un servidor que implementa los protocolos de red AppleTalk y Apple Filing Protocol (AFP). Las vulnerabilidades detectadas pueden ser explotables de forma remota que, ya que permiten al atacante poder organizar la ejecución de su código como root mediante el envío de paquetes especialmente diseñados.

La importancia de estos fallos, se debe a que muchos fabricantes de dispositivos de almacenamiento (NAS) utilizan Netatalk para compartir archivos y acceder a impresoras desde computadoras Apple.

Ademas de que Netatalk también se incluye con muchas distribuciones, incluidas OpenWRT, asi como tambien en Debian, Ubuntu, SUSE, Fedora y FreeBSD (aunque en estas últimas no se utiliza de forma predeterminada).

Sobre los problemas identificados, se menciona lo siguiente:

  • CVE-2022-0194: el tamaño de los datos externos no se verificó correctamente en ad_addcomment() antes de copiar a un búfer fijo. La vulnerabilidad permite que un atacante remoto sin autenticación logre la ejecución de su código como root.
  • CVE-2022-23121: Manejo incorrecto de errores en la función parse_entries() que ocurren al analizar entradas AppleDouble. La vulnerabilidad permite que un atacante remoto sin autenticación logre la ejecución de su código como root.
  • CVE-2022-23122: la función setfilparams() no verifica correctamente el tamaño de los datos externos antes de copiarlos en un búfer fijo. La vulnerabilidad permite que un atacante remoto sin autenticación logre la ejecución de su código como root.
  • CVE-2022-23124: No hay validación de entrada válida en el método get_finderinfo(), lo que da como resultado la lectura de un área fuera del búfer asignado. La vulnerabilidad permite que un atacante remoto sin autenticación filtre información de la memoria del proceso. En combinación con otras vulnerabilidades, el error también podría usarse para ejecutar código como root.
  • CVE-2022-23125: no se comprueba el tamaño al analizar el elemento «len» en copyapplfile() antes de copiar los datos en el búfer fijo. La vulnerabilidad permite que un atacante remoto sin autenticación logre la ejecución de su código como root.
  • CVE-2022-23123: Falta la validación de los datos entrantes en el método getdirparams(), lo que da como resultado la lectura de un área fuera del búfer asignado. La vulnerabilidad permite que un atacante remoto sin autenticación filtre información de la memoria del proceso.

Sobre las vulnerabilidades detectadas, es importante mencionar que estas ya fueron solucionadas en la versión de Netatalk 3.1.13, ademas de que en OpenWrt fue eliminado a partir de la rama 22.03 y en los NAS que se utilizó en dispositivos Western Digital el problema se resolvió eliminando Netatalk del firmware de WD.

Por último, vale la pena mencionar que tambien se han publicado versiones correctivas del paquete Samba 4.17.3, 4.16.7 y 4.15.12 con la eliminación de una vulnerabilidad (CVE-2022-42898) en las bibliotecas de Kerberos, lo que provoca un desbordamiento de enteros y la escritura de datos fuera del búfer asignado al procesar parámetros PAC (Certificado de atributo privilegiado) enviados por el usuario autenticado.

Aparte de Samba, el problema también aparece en los paquetes MIT Kerberos y Heimdal Kerberos. El informe de vulnerabilidad del proyecto Samba no detalló la amenaza, pero el informe Kerberos del MIT indicó que la vulnerabilidad podría conducir a la ejecución remota de código. La explotación de la vulnerabilidad solo es posible en sistemas de 32 bits.

El problema afecta a las configuraciones con KDC (Centro de distribución de claves) o kadmind. En configuraciones sin Active Directory, la vulnerabilidad también se manifiesta en servidores de archivos Samba que utilizan Kerberos.

El problema se debe a un error en la función krb5_parse_pac(), debido a que el tamaño del búfer utilizado al analizar los campos PAC se calculó incorrectamente. En los sistemas de 32 bits, cuando se procesan PAC especialmente diseñados, un error podría provocar que un bloque de 16 bytes pasado por el atacante se colocara fuera del búfer asignado.

La publicación de actualizaciones de paquetes en distribuciones se puede ver en las páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch y FreeBSD. Finalmente, si estás interesado en poder conocer más al respecto sobre los fallos detectados, puedes consultar los detalles en los siguientes enlaces.

Vulnerabilidades en Netatalk:

https://kb.cert.org/vuls/id/709991

Correcciones en Samba:

https://www.mail-archive.com/samba-announce@lists.samba.org/msg00597.html