Style Dictionary - Prototype Pollution in convertTokenData utility function
Résumé
Style Dictionary - Prototype Pollution in convertTokenData utility function
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Impact
Prototype pollution.
A malicious user can create a token array [{ key: '{__proto__.foo}', value: 'malicious' }], when processed by convertTokenData() utility function, it will pollute the Object.prototype globally where {}.foo will equal { key: '{__proto__.foo}', value: 'malicious' }.
This has been confirmed with a test/reproduction.
You are impacted when:
- direct usage of
convertTokenData(tokens, { output: 'object' }); - indirect usage, via using Expand API https://styledictionary.com/reference/config/#expand. If your expand config deems it necessary to run expand (this means, if NOT: 1) set to false, 2) all subprops set to false, or 3) undefined), then we sync the
sd.tokensproperty with thesd.tokenMapproperty by converting tokenData map back to object. - indirect usage via SD's transform lifecycle. Once your tokens are transformed, we also have to sync the
sd.tokensproperty with thesd.tokenMapproperty.
Impact is high for this when style-dictionary is used as an integration in a NodeJS server application.
Impact is moderate for when style-dictionary is used as an integration in a Web application.
Impact is low for most common cases where the user of style-dictionary also maintains the tokens, and access is limited via read/write access to the repository/workflows where it is used.
Patches
A patch has been published: version 5.4.4.
Any version within range >=4.3.0 <5.4.4 contains this vulnerability, see commit hash 209085d for…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Résumé IA
Rédigé par une IA externe ; il peut contenir des erreurs. Vérifiez la description d'origine et les références ci-dessous avant d'agir.
Une vulnérabilité référencée CVE-2026-54639 a été découverte dans c.
Des attaquants peuvent cibler un point d'entrée spécifique comme __proto__ à distance pour détourner le produit.
L'exploitation peut entraîner la prise de contrôle totale du système. Score CVSS : 8.8/10.
Action : appliquez le correctif officiel de l'éditeur.
En cas de doute, contactez votre service informatique ou cherchez « c CVE-2026-54639 » sur le site de l'éditeur.
CVE-2026-54639 (c) — CWE-1321 / CVSS v3 8.8
Vecteur d'attaque : local / sans interaction utilisateur
Surface d'attaque : __proto__ / sd.tokens / sd.tokenMap
Versions affectées : >=4.3.0 <5.4.4
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.
Style Dictionaryのプロトタイプ汚染の脆弱性
バージョン4.3.0から5.4.4未満
NodeJSサーバーアプリケーションで高い影響
バージョン5.4.4にアップデートする
トークンデータを事前に消毒する
トークンデータ内の__proto__を含むオブジェクトキーを再帰的にチェック
Paquets affectés
Références
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com