Vulnerabilidad Crítica en DjVuLibre: Explotación de Escritura Fuera de Límites (CVE-2025-53367)

Hoy se ha lanzado la versión 3.5.29 de DjVuLibre, que incluye una corrección crítica relacionada con una vulnerabilidad identificada como CVE-2025-53367. Esta fallo permite un acceso no autorizado a la memoria en el método MMRDecoder::scanruns, lo que podría dar lugar a la ejecución de código malicioso en sistemas Linux Desktop al intentar abrir un documento diseñado para explotar esta debilidad.

DjVu es un formato de archivo utilizado principalmente para la visualización de documentos, similar al PDF. Muchas distribuciones de Linux cuentan con visualizadores predeterminados, como Evince y Papers, que pueden detectar automáticamente archivos DjVu, incluso si tienen una extensión .pdf, para procesarlos a través de DjVuLibre.

La vulnerabilidad fue descubierta por Antonio durante su investigación sobre el lector de documentos Evince, utilizando técnicas de fuzzing. Posteriormente, Kev desarrolló un concepto de prueba que ilustra cómo puede ser explotada esta falla. En una demostración, se observó que un documento DjVu malicioso, disfrazado con una extensión .pdf, puede desencadenar la ejecución de un comando que abre un video de Rick Astley cuando se carga en el visualizador predeterminado.

Aunque el exploit presentado es capaz de evadir ciertas medidas de seguridad, como la distribución aleatoria del espacio de direcciones (ASLR), su eficacia es poco fiable, ya que puede funcionar en repetidas ocasiones y luego dejar de hacerlo repentinamente. No obstante, los desarrolladores creen que es posible crear un exploit más robusto que pueda aprovechar esta vulnerabilidad de manera consistente.

Es importante mencionar que el perfil de seguridad AppArmor del visualizador impide iniciar procesos arbitrarios, con la excepción de google-chrome. Esta situación llevó a que en la demostración se optara por reproducir un video en lugar de abrir una calculadora. Sin embargo, el perfil de AppArmor no es completamente restrictivo, lo que permite que un atacante determinado pueda ejecutar código malicioso en ciertas circunstancias.

El lanzamiento de esta versión actualizada se llevó a cabo menos de 48 horas después de que se notificara la vulnerabilidad a los autores del software, lo que evidencia una rápida respuesta por parte de la comunidad de desarrollo. Se planea publicar el código fuente del exploit en las próximas semanas, en un esfuerzo por aumentar la conciencia sobre esta vulnerabilidad y su potencial explotación.