Lettres kobold : les dangers des e-mails HTML
(lutrasecurity.com)Lettres kobold
- Les personnes qui doivent gérer techniquement les e-mails HTML ont probablement déjà connu des moments où elles ont envie de quitter leur emploi ou de mettre le feu à tous les clients mail, à cause de leurs implémentations incohérentes.
- Les e-mails HTML ne sont pas seulement une source de frustration, ils peuvent aussi représenter un grave risque de sécurité.
- Imaginons que votre responsable transfère un e-mail demandant d’effectuer un virement important. Comme vous avez déjà entendu parler des arnaques au président, vous vérifiez que l’e-mail provient bien de votre responsable.
- L’e-mail vient bien de votre responsable et, si c’est la pratique dans votre entreprise, il peut même être signé de manière chiffrée.
- Pourtant, vous n’êtes toujours pas totalement sûr et vous appelez votre responsable pour confirmer l’authenticité du message.
- Si votre responsable confirme, vous effectuez le virement.
- Mais si ce n’était pas une arnaque, cet article s’arrêterait ici.
Thunderbird
- Ce problème a été signalé à Mozilla le 5 mars 2024, et la date de publication prévue ainsi qu’un brouillon de la section suivante ont été transmis à Mozilla le 20 mars 2024.
- Des mesures d’atténuation possibles ont été discutées, mais leur mise en œuvre n’est prévue que plus tard.
- Dans Thunderbird, l’exploitation est simple. Thunderbird entoure l’e-mail avec `
` et ne modifie rien d’autre.
- Lorsqu’un e-mail est transféré, le message cité est enveloppé dans un autre `
`, ce qui le fait descendre d’un niveau dans le DOM.
- En tenant compte de cela, on obtient la preuve de concept suivante :
.kobold-letter {
display: none;
}
.moz-text-html>div>.kobold-letter {
display: block !important;
}
This text is always visible.
This text will only appear after forwarding.
- L’e-mail contient un texte toujours visible et un texte masqué avec
display: none;. - Une fois l’e-mail transféré, le texte caché devient soudainement visible, mais uniquement pour le nouveau destinataire.
Outlook Web
- Ce problème a été signalé à Microsoft le 5 mars 2024, et la date de publication prévue ainsi qu’un brouillon de la section suivante ont été transmis à Microsoft le 20 mars 2024.
- Le 26 mars 2024, Microsoft a décidé de ne pas prendre de mesure immédiate et a clôturé le rapport.
- Dans Outlook Web (OWA), la situation est un peu plus complexe. L’e-mail est entouré de `
`, mais le nom exact de la classe peut changer.
- Pour éviter que le CSS de l’e-mail n’affecte les styles du webmail, Outlook préfixe tous les id et classes de l’e-mail par
x_et ajuste le CSS en conséquence. - En tenant compte de cela, on obtient la preuve de concept suivante :
.kobold-letter {
display: none;
}
body>div>.kobold-letter {
display: block !important;
}
This text is always visible.
This text will only appear after forwarding.
- Lorsque l’e-mail est affiché dans OWA, le CSS ressemble à ceci :
- Après le transfert de l’e-mail, la lettre kobold est entourée d’un `` supplémentaire et le CSS est de nouveau mis à jour.
Gmail
- Ce problème a été signalé à Google le 5 mars 2024, et la date de publication prévue ainsi qu’un brouillon de la section suivante ont été transmis à Google le 20 mars 2024.
- Gmail n’est techniquement pas vulnérable aux lettres kobold, car il supprime tous les styles lors du transfert d’un e-mail.
- Lors du transfert d’un e-mail, la lettre kobold masquée en CSS devient automatiquement visible jusqu’à la suppression du CSS.
Recherches antérieures
- Le fait que cela soit possible n’a rien de surprenant ni de nouveau.
- Des problèmes similaires ont déjà été signalés par le passé.
Perspectives
- Les utilisateurs peuvent atténuer les lettres kobold en désactivant complètement les e-mails HTML ou en les affichant dans un mode restreint.
- Côté clients mail, il est difficile de mettre en œuvre des mesures d’atténuation. Empêcher l’usage de `` pourrait résoudre le problème, mais cela risquerait de casser de nombreuses solutions déjà présentes dans l’écosystème e-mail.
- Malheureusement, il est peu réaliste d’espérer que les clients mail mettent en place des protections robustes dans un avenir proche.
L’avis de GN⁺
- Cet article montre la vulnérabilité des e-mails HTML et décrit en particulier l’attaque des « lettres kobold », dans laquelle le contenu peut changer lorsqu’un e-mail est transféré. C’est une information importante qui sensibilise les utilisateurs à la sécurité.
- Il montre que des failles de sécurité peuvent apparaître selon la manière dont les clients mail traitent le CSS, et appelle à la vigilance aussi bien des utilisateurs que des développeurs.
- Ces attaques sont particulièrement dangereuses parce qu’elles semblent provenir d’une source de confiance pour l’utilisateur. Cela souligne la nécessité de rester constamment vigilant dans les communications par e-mail.
- D’un point de vue technique, les développeurs de clients mail doivent améliorer la manière dont le CSS est traité afin d’empêcher ce type d’attaque. Cependant, cela peut poser des problèmes de compatibilité avec les conceptions d’e-mails existantes, d’où l’importance de trouver un bon équilibre.
- Cet article ne porte pas sur une nouvelle technologie ni sur l’open source, mais il présente des éléments à prendre en compte lors de l’adoption de technologies liées à la sécurité des e-mails. Les développeurs de clients mail doivent chercher des moyens de renforcer la sécurité des utilisateurs tout en préservant l’utilisabilité.
1 commentaires
Commentaires Hacker News
The other day I was discussing the design for an "update" email that our designer was putting together...
I long argued that we should use markdown (without the inline HTML) or a similar simple text markup...
The real risk to your organisation is that the developer you assign to generate HTML emails will go mad...
Wouldn’t this be fixable by not allowing Stylesheets but only inline style attributes on the tags?
HTML in email shouldn't be as big of a nightmare as it is.
Some possible mitigations from the top of my head (maybe ineffective):
When efail came out, I wrote a blogpost about the security risks of HTML mail.
This is really clever!
iframesandboxé pour le rendu des emails HTML.