Vulnerability advisory

CVE-2026-54639

Style Dictionary - Prototype Pollution in convertTokenData utility function

Published Updated OSV record ↗

Also known as GHSA-vj5c-m527-mpff

Severity
  • CVSS 3.xCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/style-dictionary/style-dictionary ↗
737a02b638b9450eb4f989fe9718357f5cba4239 to before 1c9008813e79f4614d51daefa6118a936d72c2811c9008813e79f4614d51daefa6118a936d72c281
Not specified209085d9782cfc0783c4d983f3f1bb2c515954ec
Not specified23b5e8dda143441f0d6b8e2b4222e2da98058bc5
Also listed as affected (24)
  • v5.4.3
  • v5.4.2
  • v5.4.1
  • v5.4.0
  • v5.3.3
  • v5.3.2
  • v5.3.1
  • v5.3.0
  • v5.2.0
  • v5.1.4
  • v5.1.3
  • v5.1.2
  • v5.1.1
  • v5.1.0
  • v5.0.4
  • v5.0.3
  • v5.0.2
  • v5.0.1
  • v5.0.0
  • v4.4.0
  • v4.3.3
  • v4.3.2
  • v4.3.1
  • v4.3.0

Description

Style Dictionary, a build system for creating cross-platform styles, has a prototype pollution vulnerability starting in version 4.3.0 and prior to version 5.4.4. Impact users have: direct usage of convertTokenData(tokens, { output: 'object' });; indirect usage, via using Expand API; and/or indirect usage via SD's transform lifecycle. 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. A patch has been published in version 5.4.4. The only known workaround is to sanitize token data first. Whether using DTCG format or old Style Dictionary format, check the token data object recursively for any object keys that include __proto__.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools