Ir al contenido principal
BlogSeguridadLinode Dosier de seguridad del 21 al 28 de enero de 2023

Linode Security Digest 21 - 28 de enero de 2023

Linode Security Digest

En el resumen de esta semana, hablaremos de:

  • Cómo Sudoedit puede editar archivos arbitrarios;
  • avisos de seguridad de Drupal y Git; y 
  • Una vulnerabilidad de denegación de servicio en HAProxy.

Sudoedit puede editar archivos arbitrarios

CVE ID: CVE-2023-22809

Sudo es un programa que permite a un administrador del sistema dar a usuarios seleccionados la capacidad de ejecutar comandos como root. Synacktiv descubrió esta vulnerabilidad. Un problema de evasión de la política sudoers podría conducir a una escalada de privilegios mediante el uso de sudoedit para editar archivos no autorizados. Las versiones afectadas de Sudo van de la 1.8.0 a la 1.9.12p1.

Al usar sudoedit, los usuarios seleccionan su usuario de edición usando variables de entorno, como SUDO_EDITOR, VISUAL y EDITOR. El contenido de estas variables extiende el comando actual pasado a la función sudo_edit(). A "-"se supone que determina la lista de archivos a editar. Sin embargo, la inyección de un "-" en las variables de entorno autorizadas puede alterar esta lista y conducir a una escalada de privilegios mediante la edición de cualquier otro archivo con los privilegios del usuario objetivo.

Detección

La vulnerabilidad puede detectarse ejecutando el siguiente comando como usuario con permiso para editar el archivo, como /etc/custom/service.conf, que aparece en el archivo /etc/sudoers.

$ cat /etc/sudoers
user ALL=(ALL:ALL) sudoedit /etc/custom/service.conf
[...]

$ EDITOR='vim -- /etc/passwd' sudoedit /etc/custom/service.conf

Mitigación

Además de actualizar a la versión parcheada, también es posible mitigar la vulnerabilidad añadiendo las variables de entorno afectadas a la lista de denegación env_delete al utilizar sudoedit.

Defaults!SUDOEDIT            env_delete+="SUDO_EDITOR VISUAL EDITOR"
Cmnd_Alias SUDOEDIT = sudoedit /etc/custom/service.conf
user                                              ALL=(ALL:ALL) SUDOEDIT

Avisos de seguridad de Drupal

Drupal ha publicado avisos de seguridad para solucionar vulnerabilidades que afectan a varios productos. Un atacante podría explotar estas vulnerabilidades para acceder a información sensible. CISA anima a los usuarios y administradores a revisar los siguientes avisos de seguridad de Drupal y aplicar las actualizaciones necesarias.

Drupal Core - Divulgación de información

Código de los avisos de seguridad: SA-CORE-2023-001

Los usuarios con acceso para editar contenido podrían ver los metadatos de elementos multimedia a los que no están autorizados a acceder debido a una comprobación de acceso a entidades incorrecta en el módulo de biblioteca multimedia. La mitigación de la vulnerabilidad es posible porque los medios inaccesibles solo son visibles para los usuarios que ya pueden editar el contenido, incluido un campo de referencia de medios. 

Independientemente de que Drupal anterior a la versión 9.4.x haya llegado al final de su vida útil, se recomienda actualizar a las últimas versiones, incluidas Drupal 10.0.2, Drupal 9.5.2 y Drupal 9.4.10.

Navegador de entidades - Divulgación de información

Código de los avisos de seguridad: SA-CONTRIB-2023-002

Los usuarios pueden seleccionar entidades de los campos de referencia de entidades utilizando un widget de navegador de entidades personalizado del módulo Navegador de entidades. Esta vulnerabilidad permite a los usuarios con acceso para editar contenido ver los metadatos de entidades a las que no están autorizados a acceder, ya que el módulo no comprueba correctamente el acceso a la entidad. La vulnerabilidad puede ser mitigada por el hecho de que las entidades inaccesibles sólo serán visibles para los usuarios que ya pueden editar el contenido utilizando Entity Browser. Para solucionar la vulnerabilidad, si utiliza el módulo Entity Browser para Drupal 9 o 10, actualice Entity Browser a la versión 8.x-2.9.

Bloque Mediateca - Divulgación de información

Código de los avisos de seguridad: SA-CONTRIB-2023-003

El módulo Bloque de biblioteca multimedia permite a los usuarios mostrar entidades multimedia en un bloque. La comprobación incorrecta del acceso a medios por parte del módulo podría dar lugar a que los usuarios vieran medios a los que no están autorizados a acceder si en la página hay un bloque que contiene elementos multimedia restringidos. Mitigue este acceso no autorizado eliminando los bloques que hagan referencia a elementos multimedia con restricciones de acceso. Si utiliza el módulo Media Library Block para Drupal 9 o 10, se recomienda actualizarlo a la versión 1.0.4 para solucionar el problema.

Mediateca Formulario API Elemento - Divulgación de información

Código de los avisos de seguridad: SA-CONTRIB-2023-004

El módulo Media Library Form API Element permite a los usuarios utilizar la biblioteca multimedia en formularios personalizados sin el widget de biblioteca multimedia. Debido a la comprobación incorrecta de acceso a entidades por parte del módulo, los usuarios con acceso para editar contenido podrían ver metadatos de elementos multimedia a los que no están autorizados a acceder. Mitigue la vulnerabilidad haciendo que los medios inaccesibles sólo sean visibles para los usuarios que ya pueden editar el contenido que incluye un campo de referencia de medios. Si el módulo Media Library Form API Element versiones 8.x-1.*, o 2.x para Drupal 9 o 10, se recomienda actualizar el módulo a la versión 2.0.6.

Avisos de seguridad Git

Una auditoría de seguridad del código fuente de Git ha revelado varias vulnerabilidades, entre ellas dos de gravedad crítica que podrían permitir a los atacantes ejecutar código arbitrario tras explotar con éxito debilidades de desbordamiento de búfer basadas en heap. Ambas vulnerabilidades críticas están parcheadas en las versiones v2.30.7, v2.31.6, v2.32.5, v2.33.6, v2.34.6, v2.35.6, v2.36.4, v2.37.5, v2.38.3 y v2.39.1 de Git.

Desbordamiento de heap en `git archive`, `git log -format` que lleva a RCE

CVE ID: CVE-2022-41903

git log puede mostrar commits en un formato arbitrario con un especificador -format. git archive con el gitattribute export-subst también tiene esta funcionalidad. Cuando se procesan los operadores de relleno, una variable size_t se almacena indebidamente como un int en la función pretty.c format_and_pad_commit(), luego se añade como un offset a una siguiente llamada a memcpy(). Los atacantes pueden iniciar el desbordamiento ejecutando git log -format=... para invocar el formato de commit o ejecutando git archive con el atributo export-subst, que expande el especificador de formato para un archivo. El desbordamiento de enteros puede causar la ejecución remota de código escribiendo código arbitrario en memoria.

Soluciones

Se recomienda actualizar Git a la versión más reciente, que corrige completamente la vulnerabilidad. Si la actualización no es aplicable, los usuarios no deben ejecutar git archive en un repositorio que no sea de confianza. Si git archive está expuesto a través de git daemon, ejecuta git config -global daemon.uploadArch false para deshabilitar el comando.

gitattributes parsing integer overflow

CVE ID: CVE-2022-23521

Git permite a los usuarios definir atributos para las rutas añadiendo un archivo .gitattributes al repositorio, que contiene un conjunto de patrones de archivo y atributos que deberían establecerse para aquellos archivos que coincidan con el patrón. Algunas condiciones pueden hacer que se produzca un desbordamiento de enteros al analizar los atributos:

  • cuando hay un número excesivo de patrones de ruta;
  • cuando existen numerosos atributos para un mismo patrón;
  • cuando los nombres de los atributos declarados son extensos.

Los desbordamientos pueden desencadenarse cuando el archivo .gitattributes manipulado forma parte del historial de confirmaciones. Las líneas de más de 2 KB se dividen silenciosamente cuando se analizan los gitattributes de un archivo, pero no del índice. Como resultado, el fallo puede ocurrir cuando el archivo existe en el índice, en el árbol de trabajo, o en ambos. La vulnerabilidad puede conducir a lecturas y escrituras arbitrarias de la cabecera, resultando en la ejecución remota de código.

Soluciones

No se ha publicado ninguna solución aplicable. La única solución es actualizar Git a la última versión parcheada de la lista.

Vulnerabilidad de denegación de servicio en HAProxy

CVE ID: CVE-2023-0056

HAProxy es un equilibrador de carga de servidor de alta disponibilidad para aplicaciones HTTP. Esta vulnerabilidad existe debido al fallo en la gestión de banderas inesperadas en la función http_wait_for_response(), que puede provocar el bloqueo del proceso. Como resultado, la vulnerabilidad permite a un atacante realizar un ataque de denegación de servicio. 

La versión vulnerable de HAProxy va de la 2.0.0 a la 2.7.0. Parchea las vulnerabilidades de las versiones 2.5.11, 2.6.8 y 2.7.2. Sin embargo, aún no se han publicado las versiones corregidas para las versiones 2.0.x a 2.4.x.


Comentarios

Dejar una respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *.