Une vulnérabilité (CVE-402-2024) a été identifiée dans la bibliothèque JavaScript xml-crypto, utilisée comme dépendance dans 32962 projets et téléchargée depuis le catalogue NPM environ un million de fois par semaine, à laquelle le niveau de gravité maximum (10) a été attribué. sur 10). La bibliothèque fournit des fonctions de cryptage et de vérification de signature numérique des documents XML. La vulnérabilité permet à un attaquant de vérifier un document fictif qui, dans la configuration par défaut, sera vérifié avec succès par la bibliothèque, malgré le fait qu'il soit signé avec une clé différente de celle spécifiée pour vérifier les signatures. Le problème est apparu à partir de la version xml-crypto 4.0.0 et a été résolu discrètement dans la version 6.0.0 de janvier.
La vulnérabilité est due au fait que dans la configuration par défaut, la bibliothèque n'autorise pas le créateur de la signature, mais vérifie uniquement l'exactitude de la signature elle-même. En particulier, la bibliothèque fait confiance à tout certificat placé dans le document signé dans l'élément XML KeyInfo, même si les paramètres spécifient l'utilisation d'un certificat spécifique pour vérifier les signatures numériques. Ainsi, pour réussir à vérifier un document modifié, il suffit à un attaquant de remplacer la signature numérique originale par une signature générée par sa clé privée et de placer le certificat (clé publique) associé à cette clé privée dans l'élément KeyInfo.
Source: opennet.ru
