CVE-2025-4919 : Corruption via... Note

CVE-2025-4919 : Corruption via espace mathématique dans Mozilla Firefox

Manfred Paul a exploité une vulnérabilité (CVE-2025-4919, ZDI-25-291) dans le compilateur JavaScript JIT IonMonkey de Firefox lors de Pwn2Own Berlin 2025. La vulnérabilité résidait dans la fonction ExtractLinearSum, utilisée pour simplifier les expressions linéaires. Cette fonction gérait incorrectement l'espace mathématique modulo, ce qui causait des problèmes avec les vérifications de limites. La fonction TryEliminateBoundsCheck, qui utilise ExtractLinearSum, fusionnait les vérifications de limites sans tenir compte des débordements d'entiers possibles. Cette faille permettait de contourner les vérifications de limites dans les tableaux typés de grande taille. L'exploitation impliquait la création d'un tableau typé de grande taille et la manipulation d'indices pour déclencher une lecture ou une écriture hors limites. L'exploit utilisait des opérations bit à bit pour forcer des additions avec wrapping, trompant ainsi l'élimination des vérifications de limites. Un BigInt a été utilisé pour empêcher les optimisations du compilateur qui auraient pu gêner l'exploit. La cause racine de la vulnérabilité réside dans la gestion incohérente de l'espace mathématique dans les différents sites d'appel de la fonction ExtractLinearSum. Des vulnérabilités similaires pourraient exister dans d'autres parties du compilateur Ion qui utilisent ExtractLinearSum pour l'analyse de boucles. Mozilla a corrigé la vulnérabilité dans Firefox 138.0.4. L'exploit a démontré le danger des opérations entières non vérifiées dans les compilateurs JIT.
CdXz5zHNQW_sqeUCNKfYs.jpeg