Satori-generated SVG has improper escaping
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
Satori is a library to convert HTML and CSS to SVG. Starting in version 0.0.27 and prior to version 0.33.5, Satori does not properly escape certain values before including them in generated SVG output. This can allow crafted values to be interpreted as SVG markup. The impact depends on how the generated SVG is consumed. Version 0.33.5 contains a patch. No complete workaround exists besides upgrading. Applications that cannot immediately upgrade should not render attacker-controlled content with Satori.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA satori (vercel) Fixed in 0.33.5
- Fix · CNA next (vercel) Fixed in 16.3.6
- Fix · GHSA-wx4j-mvgx-mqwp satori (npm) Fixed in 0.33.5 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-94545
- 2026-10-27 Alias added: GHSA-wx4j-mvgx-mqwp
References
Other 7
- https://github.com/vercel/satori/security/advisories/GHSA-wx4j-mvgx-mqwp
- https://github.com/vercel/next.js/security/advisories/GHSA-vcvr-r3jv-pc5j
- https://github.com/vercel/satori/pull/814
- https://github.com/vercel/next.js/commit/868fad38690d72088868f299fa2bef339b26838e
- https://github.com/vercel/satori/commit/26a52affc031216fee5882b6e965c8dbc7ac1782
- https://github.com/vercel/next.js/releases/tag/v16.3.6
- https://github.com/vercel/satori
More vercel vulnerabilities
- TI-2025-34861 Deserialization of untrusted data in Meta react-server-dom-webpack KEVCVSS 3.1CRITICAL 10.0
- TI-2025-21309 Authorization Bypass in Next.js Middleware CVSS 3.1CRITICAL 9.1
- TI-2024-15745 An issue in Hyper on macOS version 3.4.1 and before, allows remote attackers to execute… CVSS 3.1CRITICAL 9.8
- TI-2025-34863 Deserialization of untrusted data in Meta react-server-dom-webpack CVSS 3.1HIGH 7.5
- TI-2024-31371 Cache Poisoning in next.js CVSS 3.1HIGH 7.5
- TI-2023-24914 Next.js before 13.4.20-canary.13 lacks a cache-control header and thus empty prefetch… CVSS 3.1HIGH 7.5
Sources
- CVE-2026-94545 · CVE Program
- CVE-2026-94545 · NVD
- FIRST EPSS
- GHSA-wx4j-mvgx-mqwp · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences