XSS en AMP para correo electrónico de Gmail le otorga al investigador $ 5,000
3 min readInvestigador pasa por alto el filtro de correo electrónico con un truco inspirado en etiquetas de estilo
Un script entre sitios (XSS) en AMP para correo electrónico, la función de correo electrónico dinámico de Gmail, informó un pago de recompensa por errores de $ 5,000 a un investigador de seguridad.
AMP para correo electrónico trae la funcionalidad de AMP a correos electrónicos ricos e interactivos. AMP en sí es un marco HTML de código abierto que se utiliza para optimizar sitios web para la navegación web móvil.
Adi Cohen, qui a découvert la faille de sécurité, a déclaré qu’il n’avait aucun problème à trouver un vecteur qui déclenchait un XSS dans le terrain de jeu AMP, mais a trouvé que contourner le filtre XSS de Gmail était une tâche beaucoup más difícil.
Renderizar contextos
La “manera más fácil de eludir un filtro XSS es colocarlo en un contexto de representación diferente al que el navegador realmente usará para representar una determinada pieza de código”, observó Cohen en un entrada en el blog.
Dado que AMP para correo electrónico no permite plantillas, SVG, matemáticas y CSS, en su lugar, apuntó a las hojas de estilo como una ruta potencial a una carga útil XSS con múltiples contextos de representación.
EN RELACIÓN Vulnerabilidades XSS en Google Cloud, Google Play podría conducir a secuestros de cuentas
Esto requería una discrepancia entre cómo el filtro y el navegador representan la hoja de estilo, ya sea “haciendo que el filtro crea que una etiqueta de estilo falsa es real” o “exactamente lo contrario”.
El vector original de Cohen funcionó en la zona de pruebas porque AMP “sale del contexto CSS tan pronto como encuentra la cadena ” aunque no tiene un corchete de cierre() o al menos un espacio en blanco después”.
Entonces fue capaz de “engañar al filtro para que pensara que estamos de vuelta en el contexto HTML, mientras que el Navegador obviamente ignora por completo y se mantiene dentro del ámbito de CSS”.
en el fondo
Pero “lo que parecía un vector prometedor en AMP, parecía mucho menos interesante después de que Gmail hizo su magia en él”, dijo Cohen.
Se produjo un gran avance cuando aprovechó un selector de CSS, que aseguró que Gmail devolviera la carga útil sin cambios, “sin escapes ni otras mutaciones”.
Sin embargo, la carga útil maliciosa provocó un error después de que se encontrara la zona de pruebas de AMP ”, por lo que Cohen lo intentó, pero el filtro de Gmail se dio cuenta de su parecido con .
En cambio, lo que funcionó fue probar una carga útil benigna con un selector codificado; debido a que Gmail lo decodificó, podría usar el selector para inyectar una etiqueta de estilo de cierre.
Cohen informó del problema a Google el 27 de marzo de 2021 y notó el 7 de julio que se había arreglado.
Como Previamente reportado por El sorbo diarioGoogle abordó un XSS notable y no relacionado en AMP para correo electrónico en 2019, después de que el investigador de seguridad Michał Bentkowski explotara los atributos de identificación en las etiquetas para permitir ataques de destrucción de DOM.
“Adicto a la televisión total. Experto en viajes. Gurú de Twitter. Evangelista de tocino. Creador galardonado. Aficionado al alcohol. Fanático de la música. Solucionador de problemas”.