đ Contexte PubliĂ© le 6 aoĂ»t 2026 par Gareth Heyes (PortSwigger Research), cet article de recherche technique prĂ©sente une sĂ©rie de techniques dâattaque exploitant le rendu CSS dans les clients webmail. Les cibles Ă©tudiĂ©es incluent Yahoo Mail, AOL Mail, Fastmail, ProtonMail, Gmail et Outlook.
đŻ Techniques dâattaque principales Abus des Ă©lĂ©ments HTML/CSS autorisĂ©s DĂ©tournement de balises <label> : les attributs for permettent de dĂ©clencher des actions UI arbitraires (ex: Ă©pingler un message dans Outlook, ouvrir le ruban). VulnĂ©rabilitĂ© non corrigĂ©e par Microsoft. Injection de prompt indirect via CSS : utilisation des pseudo-Ă©lĂ©ments :before/:after pour masquer du texte aux victimes humaines tout en le rendant visible aux LLM (navigateur IA OpenAI Atlas), permettant lâexfiltration du nom de la victime via des onglets ouverts automatiquement. Exfiltration de tokens par CSS Race condition lors du collage dans un brouillon (AOL Mail, Yahoo Mail) : du HTML/CSS malveillant dans le presse-papiers est injectĂ© sans sanitization correcte sous Firefox. Vol de token Medium (12 caractĂšres hex) : via des sĂ©lecteurs dâattributs CSS imbriquĂ©s (^=, *=, $=) et du CSS nesting pour rĂ©duire la taille du payload. Technique permettant de reconstituer le token complet cĂŽtĂ© serveur. Exfiltration sans requĂȘtes externes (CSP strict) : utilisation dâoracles de hauteur de police (@font-face + descent-override), dâanimations CSS et de la propriĂ©tĂ© inset pour forcer un clic sur un lien encodant les digits du token. Contournements de proxy dâimage Fastmail : content:url(/\5c/user.fm/...) â le sanitizer croit que lâURL est relative, le navigateur rĂ©sout vers user.fm. ProtonMail : imbrication de Url( dans un commentaire CSS pour tromper le sanitizer et exposer lâIP de la victime. Gmail : background:image-set(var(--x,'//02.rs')) â le fallback de variable CSS contourne la sanitization. Mutation CSS (Fastmail) Mutation via CSSOM : les noms de keyframes et media queries contenant des escapes hex (\7d\2a) sont dĂ©codĂ©s par Chrome lors de la lecture CSSOM, produisant des sĂ©lecteurs arbitraires (}*{color:red}). Deux bugs corrigĂ©s par Fastmail, chacun rĂ©compensĂ© par 1000$ de bounty. CSS Gadgets (Outlook) Gadgets CSS : des attributs data-* autorisĂ©s par le sanitizer dĂ©clenchent une manipulation DOM par une bibliothĂšque JS tierce, injectant position:fixed hors de la liste blanche. Permet de dĂ©face Outlook et de sortir des limites du message. CSS Hotwiring (Fastmail) Technique permettant de forcer un clic sur une action UI spĂ©cifique (ex: marquer comme VIP) lorsque la victime clique nâimporte oĂč sur la page, via :before/:after avec position:fixed et z-index Ă©levĂ©. Keylogger CSS (Outlook) Keylogger via <select> et sĂ©lecteurs CSS (option+option:checked, :has(), :checked) combinĂ© au gadget CSS position:fixed pour spoofier lâĂ©cran de connexion Outlook. Keylogger temps rĂ©el (Firefox) : exploitation dâun comportement Firefox qui rĂ©initialise le timer du <select> lors dâun dĂ©placement hors Ă©cran via animation CSS. Bypass du sanitizer Outlook : injection via @media --narrow-window;/*"*/.xyz{position:fixed} â le sanitizer traite le sĂ©lecteur comme faisant partie de la media query. Exfiltration via prompt injection + Gmail bypass (Cowork/Slack) Collaboration avec Pete Hendy : email piĂ©gĂ© convainquant lâIA Cowork (connecteur Gmail) de crĂ©er un brouillon contenant du CSS exfiltrant un token Slack via le bypass Gmail (image-set(var(...))). đź Attaques futures dĂ©crites Keylogger HTML-only (Chrome) : via lâĂ©lĂ©ment <selectedcontent> et images lazy-loaded. Keylogger temps rĂ©el Chrome : via lâattribut interestfor (interest invokers) pour chaĂźner des <select> popovers. đ Type dâarticle Publication de recherche offensive dĂ©taillĂ©e, prĂ©sentant des techniques CTI exploitables contre des webmails grand public et des clients IA, avec preuves de concept et code source disponible sur GitHub.
...