El parche de Emacs para CVE-2024-53920 era incompleto y aparece otro vector
Sean Whitton confirma que la corrección original solo tapaba el modo Lisp: ver o editar archivos no confiables en otros modos también permite ejecutar código. El arreglo va en Emacs 31.2 y sin backport.
El arreglo que Emacs publicó para CVE-2024-53920 no cierra el agujero. Sean Whitton, uno de los mantenedores del proyecto, ha anunciado que el parche original era incompleto: ver o editar archivos no confiables en modos distintos al modo Lisp también permite ejecución arbitraria de código. El hallazgo es de Bas Alberts.
El alcance es el mismo que el del aviso de diciembre de 2024, cuando se hizo pública la vulnerabilidad. Esto es, Emacs 24 y todas las versiones posteriores, y no se descarta que alguna anterior esté igualmente expuesta. La diferencia está en el vector: el primer parche asumía que el problema quedaba acotado al modo Lisp, y no es así.
Parche en 31.2, sin backport
Whitton ha adjuntado un parche mínimo que ya está en cola para salir con Emacs 31.2. Lo relevante para quien administra instalaciones es el resto del anuncio: los mantenedores no tienen previsto retroportar la corrección a las ramas antiguas. Quien siga en Emacs 24 a 30 y no pueda dar el salto a 31.2 tendrá que aplicarlo por su cuenta, tirar de distribución, o convivir con el riesgo.
Conviene recordar qué hace que este fallo sea grave. Emacs lleva un intérprete Lisp embebido y evalúa código como parte de su funcionamiento normal; por eso un error de este tipo no se queda en un cuelgue o una corrupción de buffer, sino que escala a ejecución arbitraria. Y el disparador es una acción cotidiana: abrir un fichero que viene de fuera.
El anuncio no detalla qué modos concretos están afectados ni si hace falta algo más que la apertura del archivo para que el código se ejecute. Tampoco hay, de momento, lista de mitigaciones alternativas más allá del parche. Para entornos donde se editan ficheros de terceros a diario, eso deja dos opciones sensatas: subir a 31.2 en cuanto salga, o revisar qué se abre y con qué modo.
La pieza encaja con un patrón conocido en proyectos grandes y con años de historia: la corrección de una CVE se valida contra el caso reportado, no contra toda la superficie del producto, y meses después aparece el camino que nadie probó. Aquí el plazo ha sido de casi dos años entre el aviso público y el reconocimiento de que faltaba cobertura.
Queda por ver si las distribuciones que empaquetan versiones antiguas mueven ficha por su cuenta. Es ahí donde se decide si el aviso se traduce en parches reales para la mayoría de instalaciones o se queda en una nota en la lista de correo.
