CVE-2026-34941 in wasmtime
Résumé
par VulDB • 20/06/2026
Wasmtime est un environnement d'exécution pour WebAssembly. Avant les versions 24.0.7, 36.0.7, 42.0.2 et 43.0.1, Wasmtime présente une vulnérabilité lors de la transcodage d'une chaîne UTF-16 vers l'encodage du composant-model latin1+utf16 : la longueur en octets de la chaîne d'entrée est incorrectement validée lors de la vérification des limites (bounds check). Plus précisément, le nombre d'unités de code est vérifié au lieu de la longueur en octets, qui est deux fois supérieure à celle des unités de code. Cette vulnérabilité peut amener l'hôte à lire au-delà de la fin de la mémoire linéaire d'un module WebAssembly dans le but de transcoder des octets inexistants. Dans la configuration par défaut de Wasmtime, cela entraîne la lecture d'une mémoire non mappée sur une page de garde, provoquant la terminaison du processus par un segfault. Toutefois, Wasmtime peut être configuré sans pages de garde, ce qui signifierait que la mémoire de l'hôte située au-delà de la fin de la mémoire linéaire pourrait être lue et interprétée comme du UTF-16. Un segfault de l'hôte constitue une vulnérabilité de type déni de service (DoS) dans Wasmtime, et la possibilité potentielle de lire au-delà de la fin de la mémoire linéaire représente une vulnérabilité supplémentaire. Il est à noter que la lecture au-delà de la fin de la mémoire linéaire nécessite une configuration non standard de Wasmtime, spécifiquement avec les pages de garde désactivées. Cette vulnérabilité est corrigée dans les versions 24.0.7, 36.0.7, 42.0.2 et 43.0.1.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.