Classé CVE-2023-5129, le problème a reçu la note de gravité maximale de 10.0 dans le système d'évaluation CVSS. Il a été décrit comme un problème lié à l'algorithme de codage Huffman.
En clair donc, avec une image WEBP malformée, il est possible d'exécuter un code à distance sur la machine.Avec un fichier WebP sans perte spécialement conçu, libwebp peut écrire des données hors limites dans le tas. La fonction ReadHuffmanCodes() alloue le tampon HuffmanCode avec une taille qui provient d'un tableau de tailles précalculées : kTableSize. La valeur color_cache_bits définit la taille à utiliser. Le tableau kTableSize ne prend en compte que les tailles pour les tables de recherche de premier niveau de 8 bits, mais pas les tables de recherche de second niveau. libwebp autorise des codes allant jusqu'à 15 bits (MAX_ALLOWED_CODE_LENGTH). Lorsque BuildHuffmanTable() tente de remplir les tables de second niveau, il peut écrire des données hors limites. L'écriture OOB dans le tableau sous-dimensionné se produit dans ReplicateValue.
De quoi permettre d'installer un malware, via une attaque Drive-By Download.
Tous les navigateurs internet sont touchés, il faut procéder à leurs mises à jour au plus vite.
En lien : Les virus dans les images