Backstage de Spotify ha sido descubierto como vulnerable a una grave falla de seguridad que podría explotarse para obtener la ejecución remota de código al aprovechar un error recientemente revelado en un módulo de terceros.
La vulnerabilidad (puntaje CVSS: 9.8), en esencia, aprovecha un escape crítico de sandbox en vm2, una popular biblioteca de sandbox de JavaScript (CVE-2022-36067, también conocida como Sandbreak), que salió a la luz el mes pasado.
“Un actor de amenazas no autenticado puede ejecutar comandos de sistema arbitrarios en una aplicación Backstage al explotar un escape de sandbox vm2 en el complemento principal de Scaffolder”, dijo la firma de seguridad de aplicaciones Oxeye en un comunicado. reporte compartido con The Hacker News.
Entre bastidores es una fuente abierta portal para desarrolladores de Spotify que permite a los usuarios crear, administrar y explorar componentes de software desde un “puerta principal.” Es usado por muchas compañías como Netflix, DoorDash, Roku y Expedia, entre otros.
Según Oxeye, la falla tiene sus raíces en una herramienta llamada plantillas de software que se puede utilizar para crear componentes dentro de Backstage.
La captura de pantalla muestra a Backstage llamando a la función renderTemplate (que llama a renderString2) dos veces en caso de error. |
Si bien el motor de plantilla utiliza vm2 para mitigar el riesgo asociado con la ejecución de código que no es de confianza, la falla de escape de sandbox en este último hizo posible ejecutar comandos arbitrarios del sistema fuera del perímetro de seguridad.
Oxeye dijo que pudo identificar más de 500 instancias de Backstage expuestas públicamente en Internet, que luego podrían ser armadas de forma remota por un adversario sin necesidad de autorización.
Luego de la divulgación responsable el 18 de agosto, los mantenedores del proyecto abordaron el problema en versión 1.5.1 publicado el 29 de agosto de 2022.
“La raíz de cualquier escape de VM basado en plantillas es obtener derechos de ejecución de JavaScript dentro de la plantilla”, señaló la compañía israelí. “Mediante el uso de motores de plantillas ‘sin lógica’ como Bigotepuede evitar la introducción de vulnerabilidades de inyección de plantillas del lado del servidor”.
“Separar la lógica de la presentación tanto como sea posible puede reducir en gran medida su exposición a los ataques basados en plantillas más peligrosos”, agregó.