Exploitation du décodeur de fonte WOFF de Firefox

Magazine
Marque
MISC
Numéro
50
Mois de parution
juillet 2010
Spécialité(s)


Résumé

Le 22 mars 2010, la fondation Mozilla a publié un bulletin de sécurité indiquant la correction d'une nouvelle faille de sécurité [1]. Reportée par Evgeny Legerov, elle affecte la version 3.6 de Firefox et a été corrigée dans la version 3.6.2. D'après ce bulletin, le décodeur WOFF contiendrait un integer overflow dans la fonction de décompression des fontes résultant sur un heap overflow dans certains cas : l'utilisation d'une fonte malformée pourrait provoquer le crash du navigateur et entraîner l'exécution d'un code arbitraire. La suite de cet article détaille l'origine de la vulnérabilité et les techniques utilisées pour l'exploiter.


1. Analyse de la vulnérabilité

1.1 Le format WOFF

Depuis la version 3.6 de Firefox, le nouveau format de fonte compressée WOFF (Web Open Font Format) est supporté ; en conséquence, la surface d'attaque s'est trouvée agrandie et une vulnérabilité n'a donc pas tardé à être trouvée.

WOFF encapsule des fontes SFNT (TrueType, OpenType, ou Open Font Format) compressées par l'algorithme zlib. La structure des fontes WOFF est documentée [4] et similaire à celles des fontes SFNT : un répertoire de tables contient l'offset et la longueur des tables de fontes, suivi des tables elles-mêmes (Figure 1).

 



Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous