Description
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.
Published: 2026-09-30
Score: 5.3 Medium
EPSS: 1.1% Low
KEV: No
Impact: SVG Content Injection
Action: Apply Patch
AI Analysis

Impact

Satori is a library that converts HTML and CSS to SVG. From version 0.0.27 up to but not including 0.33.5, the library fails to escape certain values before embedding them into generated SVG output. A crafted value can be interpreted as SVG markup, potentially injecting executable elements such as <script> or malicious links. The impact is limited to situations where the resulting SVG is rendered in a browser; it can lead to client‑side code execution (XSS) or other manipulation of the user interface.

Affected Systems

Vercel’s Satori library version 0.0.27 through 0.33.4 is affected, along with any Vercel Next.js deployments that rely on that version of Satori. The patch is included in Satori 0.33.5 and in Next.js releases starting at 16.3.6.

Risk and Exploitability

The CVSS score of 5.3 indicates a moderate risk. EPSS data are not available and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector involves an attacker supplying maliciously crafted HTML or CSS to the Satori conversion process, with the malicious content ultimately rendered in a browser that loads the resulting SVG. Exploitation requires that the SVG be displayed to a user – it does not elevate privileges on the server side.

Generated by OpenCVE AI on September 30, 2026 at 17:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Satori library to 0.33.5 or later and ensure that your Next.js deployment uses Next.js 16.3.6 or newer.
  • Restrict or thoroughly validate any input that is passed to Satori, preventing untrusted HTML or CSS from being converted to SVG.
  • If an upgrade or input restriction cannot be implemented immediately, disable the rendering of any Satori‑generated SVG that originates from external or untrusted sources.

Generated by OpenCVE AI on September 30, 2026 at 17:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-wx4j-mvgx-mqwp Satori-generated SVG has improper escaping
History

Fri, 02 Oct 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Vercel
Vercel next.js
Vercel satori
Vendors & Products Vercel
Vercel next.js
Vercel satori

Wed, 30 Sep 2026 15:15:00 +0000

Type Values Removed Values Added
Description 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.
Title Satori-generated SVG has improper escaping
Weaknesses CWE-116
References
Metrics cvssV4_0

{'score': 5.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-30T15:48:41.962Z

Reserved: 2026-09-21T19:21:33.371Z

Link: CVE-2026-94545

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-09-30T15:22:38.060

Modified: 2026-09-30T19:57:08.043

Link: CVE-2026-94545

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-02T14:50:10Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output