Incidente de seguridad de Ghostscript (VU#332928)
El 21 de agosto de 2018, Tavis Ormandy, de Project Zero de Google, reveló problemas de seguridad en la forma en que ImageMagick delega trabajo a Ghostscript.
Esta vulnerabilidad también fue publicada como VU#332928 por el Computer Emergency Response Team. Muchos sistemas operativos incluyen una versión de ImageMagick, y según el informe del CERT, prácticamente todos están afectados. Transloadit compila sus propias versiones de ImageMagick, pero, como reveló de forma responsable un investigador de seguridad apodado Lawn el 22 de agosto a las 19:14 UTC+1, Transloadit también se vio afectado.
Al subir una imagen malformada de manera maliciosa, los atacantes podrían ejecutar comandos arbitrarios en nuestras máquinas de encoding.
En cuanto el equipo de soporte comprendió el alcance de esta vulnerabilidad, se informó a nuestro Security Response Team, que inició su investigación a las 20:24 UTC+1.
Nos enteramos de que la solución alternativa recomendada consistía en desactivar el procesamiento de PS, EPS, PDF y XPS, lo que evidentemente tendría consecuencias graves para muchos de nuestros clientes.
Nuestros cuatro ingenieros de seguridad continuaron la investigación y propusieron dos enfoques alternativos. Tras deliberar, se decidió que la mejor solución para nuestra situación era analizar los archivos en busca de este nuevo tipo de contenido malicioso antes de entregarlos a ImageMagick.
A las 21:50 UTC+1 ya se había escrito un parche con ese fin y empezamos a probarlo. Resolvimos un problema no relacionado con nuestro CI que impedía los despliegues y, a las 23:33 UTC+1, el parche estaba en producción y tanto nuestro SRT como el investigador independiente de vulnerabilidades confirmaron que funcionaba. Ya no éramos vulnerables a este problema y, al mismo tiempo, podíamos seguir procesando archivos PS, EPS, PDF y XPS válidos.
Mientras uno de nuestros ingenieros de seguridad escribía el parche, los tres restantes siguieron investigando la gravedad del problema para Transloadit. A las 21:58 UTC+1 se determinó que, para Transloadit, este incidente se puede clasificar con gravedad: baja, gracias a los esfuerzos anteriores para combatir las vulnerabilidades relacionadas con ImageMagick:
Hemos finalizado y desplegado una gran actualización para que nuestras máquinas de encoding (que serían las más susceptibles a este tipo de ataques) ahora funcionen sin ningún secreto. Pueden tomar Jobs de una cola mediante acceso de solo lectura y exportarlos mediante acceso de solo anexado. Se han eliminado todos los demás secretos y privilegios.
Ante este incidente, agradecemos esos esfuerzos anteriores y también a Lawn y a Sasha Usenko, responsable de seguridad en Coursera, por informarnos de este problema de forma rápida y responsable.
Si tienes preguntas, comentarios o inquietudes sobre este problema o sobre la forma en que lo gestionamos, no dudes en ponerte en contacto con nosotros.
