Existe un problema específico para NodeJS, MongoDB (y algunas otras bases de datos NoSQL que usan mucho javascript): Serveride javascript injection. Mire here y here (pdf) para más detalles. Es más como inyección SQL que XSS.
En breve, es cuando el atacante envía javascript a su nodejs o mongodb cuando solo está esperando JSON. Así que, teóricamente, el malo puede bajar tu servicio (DOS), acceder a tus datos e incluso al sistema de archivos.
Para evitar este tipo de ataques que tienen que:
- Evitar la creación de “ad-hoc” comandos JavaScript mediante la concatenación de la escritura con la entrada del usuario.
- Valida la entrada del usuario utilizada en los comandos SSJS con expresiones regulares.
- Evite el uso del comando JavaScript eval. En particular, al analizar la entrada JSON, use una alternativa más segura como JSON.parse.
Creo que el principio "no confíes en nadie y especialmente en la entrada del usuario" todavía se aplica a las bases de datos no SQL también. Pero esta es una pregunta buena y relevante, me gustaría ver algunas respuestas. Gracias @Jojje –