CVE-2026-84368 in joi
Résumé
par VulDB • 01/09/2026
joi est un langage de description de schéma et un validateur de données pour JavaScript. De la version 16.0.0 jusqu'aux versions 17.13.6 et 18.2.5, le package @hapi/joi (jusqu'à la version 17.1.1) ainsi que son successeur joi présentent une pollution de prototype dans lib/messages.js, où les fonctions exports.compile() et exports.merge() réutilisent des objets hérités pour des clés de langue contrôlées par l'attaquant fournies via messages(), message(), prefs({ messages }), Joi.extend({ messages }) ou rule({ message }). Une clé de langue nommée __proto__ écrit des propriétés sur Object.prototype, tandis que constructor écrit dans les propriétés statiques de la fonction Object. Une application consommatrice qui vérifie la présence d'une propriété héritée peut emprunter le mauvais chemin pour chaque objet inspecté. Cette faille n'est pas accessible à partir des données validées par joi et nécessite qu'une application alimente directement une entrée non fiable dans la configuration de construction du schéma. Ce problème est corrigé dans les versions 17.13.6 et 18.2.5 de joi ; aucune version corrigée de @hapi/joi n'est disponible.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.