CVE-2024-32962
Contournement de la vérification de signature XML dû à une vérification incorrecte de la signature / usurpation de signature
- Publié
- 2 mai 2024
- Mise à jour
- 13 févr. 2025
- Attribution de CNA
- GitHub_M
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NFaible · 30 prochains jours
- Percentile
- 55,7 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
xml-crypto est une bibliothèque de signature numérique et de chiffrement XML pour Node.js. Dans les versions concernées, la configuration par défaut ne vérifie pas l'autorisation du signataire ; elle ne vérifie que la validité de la signature conformément à la section 3.2.2 de la spécification w3 xmldsig-core-20080610. Par conséquent, sans étapes de validation supplémentaires, la configuration par défaut permet à un acteur malveillant de re-signer un document XML, de placer le certificat dans un élément `<KeyInfo />` et de réussir les contrôles de validation par défaut de `xml-crypto`. En conséquence, `xml-crypto` fait confiance par défaut à tout certificat fourni via l'élément `<KeyInfo />` d'un document XML signé numériquement. `xml-crypto` préfère utiliser tout certificat fourni via l'élément `<KeyInfo />` d'un document XML signé numériquement, même si la bibliothèque a été configurée pour utiliser un certificat spécifique (`publicCert`) aux fins de vérification de la signature. Un attaquant peut usurper la vérification de la signature en modifiant le document XML et en remplaçant la signature existante par une signature générée avec une clé privée malveillante (créée par l'attaquant), puis en attachant le certificat de cette clé privée à l'élément `<KeyInfo />`. Cette vulnérabilité est une combinaison de changements introduits dans `4.0.0` via la pull request 301 / le commit `c2b83f98` et a été corrigée dans la version 6.0.0 avec la pull request 445 / le commit `21201723d`. Il est conseillé aux utilisateurs de mettre à jour. Les utilisateurs qui ne peuvent pas mettre à jour peuvent soit vérifier le certificat extrait via `getCertFromKeyInfo` par rapport aux certificats de confiance avant d'accepter les résultats de la validation, soit définir `getCertFromKeyInfo` de `xml-crypto` sur `() => undefined`, forçant ainsi `xml-crypto` à utiliser un `publicCert` ou une `privateKey` explicitement configurée pour la vérification de la signature.
Sources
1Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.