Como recordará, en junio, Checkmarx reveló varias vulnerabilidades de secuencias de comandos entre sitios (XSS) que afectan a Drupal Core, enumeradas como CVE-2020-13663, seguidas de un desglose más técnico de los hallazgos a fines de noviembre. Hoy publicamos detalles de nuevas vulnerabilidades adicionales (CVE-2020-13669) descubiertas en Drupal Core como parte de nuestra investigación en curso sobre la plataforma CMS de código abierto. Toda la investigación fue realizada y reportada a Drupal por Dor Tumarkin de Checkmarx.
CVE-2020-13669 – Resumen
Riesgo de seguridad de Drupal: Moderadamente crítico – https://www.drupal.org/sa-core-2020-010
Versiones vulnerables:
- Drupal 8.8 – antes de 8.8.10
- Drupal 8.9 – antes de 8.9.6
- Drupal 9 – antes de 9.0.6
Resumen de impactos
- Inyecte código malicioso en páginas web a través de Cross-Site Scripting para:
- Secuestrar cuentas de usuario
- Inyectar contenido web malicioso, como inicio de sesión malicioso o formularios de pago
- Desfigurar la página para ocultar su contenido
- Redirigir a los usuarios a un sitio web elegido por un atacante, lo que les permite abusar de la confianza de los usuarios en el sitio web de la víctima.
Prueba de concepto de vulnerabilidad (PoC)
El widget de título de figura («FigCaption») permite que incluso los contribuyentes de contenido básico con privilegios básicos de contenido HTML inserten un título en su contenido. Viene con el Drupal Core CKEditor predeterminado.
El código HTML sin procesar para tal título se vería así:
Una vez enviado o renderizado, este código HTML se transforma en un árbol HTML completo que presenta la imagen en CKEditor. Sin embargo, el atributo «título de datos» puede contener HTML, que luego se procesa y sufre varios problemas de la siguiente manera:
- Una falta de consistencia entre las listas blancas de atributos HTML para el CKEditor general y el HTML interno de FigCaption, lo que permite que el HTML dentro de FigCaption contenga atributos arbitrarios, lo que permite:
- Inyectar atributos y clases arbitrarias en Etiquetas HTML, como clases con CSS que abarcan toda la aplicación, desfigurando permanentemente las páginas con la redirección a un sitio elegido por un atacante (tenga en cuenta que los atributos de evento «on*», como «onclick», todavía se filtran correctamente)
- Omita algunos comportamientos de desinfección que podrían conducir a XSS, dado que hay más widgets en el ecosistema, como insertar el esquema «javascript:» en los atributos que normalmente desinfectan ese esquema.
- Falta de saneamiento al renderizar en modo de vista previa, lo que permite inyectar
Artículos relacionados