Se ha descubierto una vulnerabilidad en la biblioteca libcue, utilizada para analizar metadatos con información sobre el orden y la duración de las pistas de audio (CVE-2023-43641), que permite la ejecución de código al procesar archivos cue especialmente diseñados. Esta biblioteca se utiliza en algunos reproductores multimedia y editores de audio, incluyendo Audacious, y puede ser usada para comprometer el sistema al abrir datos no verificados en estos programas.
Además, la biblioteca libcue se utiliza en el motor de búsqueda tracker-miners, empleado en el entorno de usuario GNOME. Dado que tracker-miners indexa automáticamente nuevos archivos multimedia en el directorio de inicio, para atacar sistemas con GNOME y ejecutar el código del atacante, basta que el usuario cargue un archivo especialmente diseñado en el directorio ~/Downloads, ~/Music o ~/Videos, sin necesidad de abrirlo (por ejemplo, en algunos casos, solo basta con hacer clic en un enlace en el navegador).
Los investigadores que descubrieron la vulnerabilidad han preparado un exploit funcional y han demostrado la posibilidad de explotar entornos basados en Ubuntu 23.04 y Fedora 38. El código del exploit se publicará más adelante para dar tiempo a los usuarios a instalar la actualización que corrige la vulnerabilidad. El exploit es estable en su funcionamiento, pero requiere adaptación para cada distribución.
La vulnerabilidad es causada por un desbordamiento de enteros en el código que analiza la sintaxis del parámetro INDEX y se manifiesta al especificar en este parámetro valores numéricos demasiado grandes que no caben en el tipo "int". Para convertir una cadena en un número se utiliza la función atoi; por ejemplo, al especificar el número 4294567296, se convierte en -400000. La vulnerabilidad se establece por la falta de verificación de que el valor obtenido pueda ser negativo. Como resultado, en el código, después de la conversión de atoi, se ejecuta la operación "track->index[i] = ind", donde "i" puede asignarse a un número negativo para sobrescribir la memoria fuera del búfer con el valor "ind", que también se carga del archivo procesado.
En la mayoría de las distribuciones con GNOME, el componente tracker-miners se activa por defecto y se carga como una dependencia obligatoria del gestor de archivos Nautilus (Archivos de GNOME). Para desactivar tracker-miners para el usuario actual, se pueden usar los siguientes comandos: systemctl —user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service tracker reset —hard
Fuente: opennet.ru
