Falla CVE en Scully

vulnerabilidad

Esto afecta al paquete @ scullyio / scully antes de la 1.0.9. El estado de transferencia se serializa con la función JSON.stringify () y luego se escribe en la página HTML.

Un ataque de secuencias de comandos entre sitios se produce cuando el atacante engaña a una aplicación o un sitio web legítimo para que acepte una solicitud que se origina en una fuente confiable.

Esto se hace escapando del contexto de la aplicación web; la aplicación web luego entrega esos datos a sus usuarios junto con otro contenido dinámico confiable, sin validarlo. Sin saberlo, el navegador ejecuta secuencias de comandos maliciosas en el lado del cliente (a través de lenguajes del lado del cliente; generalmente JavaScript o HTML) para realizar acciones que, de otro modo, suelen estar bloqueadas por la Política del mismo origen del navegador.

ֿ La inyección de código malicioso es la forma más frecuente de explotación de XSS; por esta razón, los caracteres de escape para evitar esta manipulación es el método principal para proteger el código contra esta vulnerabilidad.

Escapar significa que la aplicación está codificada para marcar los caracteres clave, y en particular los caracteres clave incluidos en la entrada del usuario, para evitar que esos caracteres se interpreten en un contexto peligroso. Por ejemplo, en HTML, se puede codificar como > para ser interpretados y mostrados como ellos mismos en el texto, mientras que dentro del código mismo, se utilizan para etiquetas HTML. Si se inyecta contenido malicioso en una aplicación que escapa a los caracteres especiales y que utiliza contenido malicioso como etiquetas HTML, el navegador no interpretará esos caracteres como etiquetas HTML si se han escapado correctamente en el código de la aplicación y de esta manera el se desvía el intento de ataque.

Esta sección describe las mejores prácticas principales diseñadas para proteger específicamente su código:

  • Desinfecte la entrada de datos en una solicitud HTTP antes de reflejarla, asegurándose de que todos los datos se validan, filtran o escapan antes de devolver algo al usuario, como los valores de los parámetros de consulta durante las búsquedas.
  • Convertir caracteres especiales como ?, &, /, <, >y los espacios a sus respectivos HTML o URL codificados equivalentes.
  • Dé a los usuarios la opción de deshabilitar los scripts del lado del cliente.
  • Redirigir solicitudes no válidas.
  • Detecte inicios de sesión simultáneos, incluidos los de dos direcciones IP independientes, e invalide esas sesiones.
  • Utilice y haga cumplir una Política de seguridad de contenido (fuente: Wikipedia) para deshabilitar cualquier característica que pueda manipularse para un ataque XSS.
  • Lea la documentación de cualquiera de las bibliotecas a las que se hace referencia en su código para comprender qué elementos permiten HTML incrustado.
  • Remediación

Referencias:

https://github.com/scullyio/scully/pull/1182

https://snyk.io/vuln/SNYK-JS-SCULLYIOSCULLY-1055829

Gracias por visitar este sitio, espero que te haya gustado y vuelvas proximamente, compartela en las redes sociales, gracias

Compartir en Facebook Compartir en twitter

Fecha actualización el 2021-01-15. Fecha publicación el 2021-01-15. Categoría: vulnerabilidad Autor: Oscar olg Mapa del sitio Fuente: NIST