Passer au contenu principal
Publié le : 30 juin 2020 Numéro CVE : CVE-2020-15084 Remerciements : groupe IST

Aperçu

Dans les versions 5.3.3 et antérieures, nous n’exigeons pas que l’entrée algorithms soit spécifiée dans la configuration. Si algorithms n’est pas spécifiée dans la configuration, en combinaison avec jwks-rsa ou d’autres bibliothèques de cryptographie asymétrique, cela peut entraîner un contournement de l’autorisation.

Suis-je concerné ?

Vous êtes concerné par cette vulnérabilité si toutes les conditions suivantes sont réunies :
  • Vous utilisez express-, ET
  • Vous n’avez pas configuré algorithms dans la configuration d’express-jwt, ET
  • Vous utilisez des bibliothèques comme jwks-rsa comme secret.

Comment résoudre ce problème ?

Spécifiez algorithms dans la configuration d’express-jwt. Voici un exemple de configuration correcte :
const checkJwt = jwt({
  secret: jwksRsa.expressJwtSecret({
    rateLimit: true,
    jwksRequestsPerMinute: 5,
    jwksUri: `https://{DOMAIN}/.well-known/jwks.json`
  }),
  // Valider l'audience et l'émetteur.
  audience: process.env.AUDIENCE,
  issuer: `https://{DOMAIN}/`,
  // restreindre les algorithmes autorisés
  algorithms: ['RS256']
});

Cette mise à jour aura-t-elle une incidence sur mes utilisateurs ?

Le correctif fourni dans le patch n’aura pas d’incidence sur vos utilisateurs si vous avez précisé les algorithmes autorisés. Le patch exige désormais que les algorithmes soient configurés.