Loading

Vulnérabilité CVE-2023-26136 touchant le produit NPM open-source Tough-Cookie

Date de publication: May 7, 2024
Description

Chez Salesforce, nous comprenons que la confidentialité, l'intégrité et la disponibilité de vos données sont essentielles pour votre entreprise et nous prenons très au sérieux la protection de vos données.
 

Que s'est-il passé ?

Le 1er juin 2023, un chercheur spécialisé dans la sécurité a découvert une vulnérabilité JavaScript au sein du projet NPM open source tough-cookie de Salesforce. Cette vulnérabilité pourrait permettre à un acteur malveillant d’attacher des données de cookies à un espace de noms global, ce qui exposerait les cookies aux personnes disposant d’un accès à votre code en cours d’exécution. 
 

Qu’a fait Salesforce pour résoudre ce problème ? 

Le 5 juin, un correctif a été implémenté et une note de publication, disponible ici, a été mise en ligne sur GitHub. Le 29 juin, CVE-2023-26136 a été publié pour remédier à cette vulnérabilité ayant un score CVSS de 6,5.
 

Comment puis-je déterminer si je suis impacté ?

Pour déterminer si vous utilisez le package NPM tough-cookie et si vous êtes potentiellement touché par cette vulnérabilité, procédez comme suit :

  1. Vérifiez si tough-cookie est répertorié comme dépendance dans le fichier package.json de votre projet. 
  2. Si tough-cookie est répertorié comme dépendance, vérifiez si vous utilisez une CookieJar avec l’option « rejectPublicSuffixes » définie sur false et l’option « store » non définie ou définie de manière à utiliser un MemoryCookieStore. Si vous n’employez ces options de configuration, vous n’êtes pas concerné par cette vulnérabilité et n’avez pas besoin de prendre de mesures. Si vous employez ces options de configuration, les cookies stockés dans cette CookieJar peuvent être accessibles à des acteurs non autorisés disposant d’un accès à votre code en cours d’exécution.
    1. REMARQUE : les cookies exposés en raison de cette vulnérabilité ne sont accessibles que pendant la durée de vie de l’application en cours d’exécution. L’arrêt ou le redémarrage de l’application réinitialisera la CookieJar, supprimant toutes les connexions actives dans l’espace de noms global.
  3. Si votre site a recours aux deux options de configuration mentionnées ci-dessus, suivez les étapes ci-après pour identifier les connexions potentiellement suspectes à votre espace de noms global. 
    1. Connectez-vous à votre instance en cours d’exécution.
    2. Examinez l’élément Object.prototype dans son ensemble.
      1. Exemple : console.log(Object.prototype)
    3. Déterminez s’il existe des propriétés liées à Objet.prototype qui commencent par « / ».
      1. Par exemple : « /notauth »
    4. Les valeurs attachées à ces propriétés sont des objets, dont les valeurs sont des cookies.
      1. Par exemple : {Slonser: Cookie="Slonser=polluted; Domain=__proto__; Path=/notauth; hostOnly=false; aAge=1ms; cAge=35443ms"}

Si vous ne vous trouvez dans aucune des situations mentionnées ci-dessus, votre instance en cours d’exécution n’a pas été touchée par la vulnérabilité.
 

Si je suis concerné, quelles mesures dois-je prendre ? 

Si vous déterminez que vous êtes concerné par cette vulnérabilité, pour éliminer tout accès non autorisé potentiel à vos cookies, mettez à niveau tough-cookie vers la version 4.1.3, disponible ici. Vous pouvez également mettre à jour votre code pour faire en sorte qu’au sein de toutes les instances CookieJar, rejectPublicSuffixes soit défini sur true, ou utiliser un élément store autre que MemoryCookieStore.
 

Comment puis-je poser des questions ?

Si vous avez des questions, ouvrez une demande d’assistance auprès du support via le portail d’aide.


Nous vous remercions de votre confiance, et soyez assuré que votre réussite est en permanence notre priorité. 
Numéro d’article de la base de connaissances

000395871

 
Chargement
Salesforce Help | Article