Me gustaría saber si es seguro usar EJS en un servidor web Node Express, para permitir que los usuarios creen contenido personalizable, que luego EJS representaría en el lado del servidor ( https://www.npmjs.com/package/ejs ) .
Por ejemplo, un usuario podría crear una plantilla en la que especificaría {%= product.category %} en una página web de descripción del producto.
Pero luego, podría especificar {%= process.exit(0) %} , ¡lo que haría que el servidor web se cerrara! También podría tener acceso al sistema de archivos del servidor, supongo.
Una forma de agregar algo de seguridad sería especificar { process: null } en el parámetro de context del método de render , pero me imagino que hay muchas otras entradas peligrosas.
Entonces, ¿es seguro hacer esto? ¿Hay algunas soluciones (tal vez algunas opciones de EJS, pero no las vi)? ¿O algunos paquetes alternativos?
Editar: encontré el siguiente problema en el repositorio de paquetes: https://github.com/mde/ejs/issues/632 que recomienda no usar EJS para tal caso de uso.