Forge présente une falsification de signature dans Ed25519 en raison de l'absence de vérification S > L
Plateforme
nodejs
Composant
forge
Corrigé dans
1.4.0
Forge (également appelé `node-forge`) est une implémentation native de Transport Layer Security en JavaScript. Avant la version 1.4.0, la vérification de signature Ed25519 accepte les signatures non canoniques forgées où le scalaire S n'est pas réduit modulo l'ordre du groupe (`S >= L`). Une signature valide et sa variante `S + L` sont toutes deux vérifiées dans forge, tandis que `crypto.verify` de Node.js (basé sur OpenSSL) rejette la variante `S + L`, comme défini par la spécification. Cette classe de malléabilité de signature a été exploitée dans la pratique pour contourner la logique d'authentification et d'autorisation (voir CVE-2026-25793, CVE-2022-35961). Les applications reposant sur l'unicité de la signature (c'est-à-dire la déduplication par octets de signature, le suivi de la relecture, les vérifications de canonicalisation d'objets signés) peuvent être contournées. La version 1.4.0 corrige le problème.
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