UNKNOWNGHSA-vjh7-7g9h-fjfh

Extraction de la clé privée d'Elliptic dans ECDSA lors de la signature d'une entrée malformée (par exemple, une chaîne de caractères)

Plateforme

nodejs

Composant

elliptic

Corrigé dans

6.6.1

### Résumé La clé privée peut être extraite de la signature ECDSA lors de la signature d'une entrée malformée (par exemple, une chaîne de caractères ou un nombre), qui pourrait, par exemple, provenir d'une entrée réseau JSON. Notez que `elliptic` accepte par conception les chaînes hexadécimales comme l'un des types d'entrée possibles. ### Détails Dans ce code : https://github.com/indutny/elliptic/blob/3e46a48fdd2ef2f89593e5e058d85530578c9761/lib/elliptic/ec/index.js#L100-L107 `msg` est une instance BN après la conversion, mais `nonce` est un tableau, et différentes instances BN pourraient générer des tableaux équivalents après la conversion. Cela signifie qu'un même `nonce` pourrait être généré pour différents messages utilisés dans le processus de signature, ce qui entraînerait une réutilisation de `k`, conduisant à l'extraction de la clé privée à partir d'une paire de signatures. Un tel message peut être construit pour toute paire message/signature déjà connue, ce qui signifie que l'attaque n'a besoin que d'un seul message malveillant signé pour une extraction complète de la clé. Bien que la signature de messages non vérifiés contrôlés par un attaquant serait problématique en soi (et l'exploitation de cette vulnérabilité nécessite un tel scénario), la signature d'un seul message ne _devrait pas_ divulguer la clé privée. De plus, la validation des messages pourrait avoir le même bogue (hors du champ d'application de ce rapport, mais pourrait être po

Comment corriger

Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.

Surveillez vos dépendances automatiquement

Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.

Commencer gratuitement