Satori-generated SVG has improper escaping
## Impact 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. ## Workaround No complete workaround exists besides upgrading. Applications that cannot immediately upgrade should not render attacker-controlled content with Satori.
- Products
- satori
- Affected versions
- Not specified
- Fixed versions
- 0.33.5
- CVEs
- CVE-2026-94545
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 18:43 UTC · Revision 1
Source evidence
Satori-generated SVG has improper escaping
core-osv · Original sourcePublished 27 Oct 2026, 14:46 UTC
## Impact 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. ## Workaround No complete workaround exists besides upgrading. Applications that cannot immediately upgrade should not render attacker-controlled content with Satori.
osv:GHSA-wx4j-mvgx-mqwp
satori
Fixed versions: 0.33.5
Complete source record
{
"id": "2a3c4a23add2e16992460ea517ea616e253331f9de18c4f0f95b6866bf9a6b3d",
"url": "https://osv.dev/vulnerability/GHSA-wx4j-mvgx-mqwp",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Satori-generated SVG has improper escaping",
"summary": "## Impact 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. ## Workaround No complete workaround exists besides upgrading. Applications that cannot immediately upgrade should not render attacker-controlled content with Satori.",
"evidence": "osv:GHSA-wx4j-mvgx-mqwp",
"products": [
{
"name": {
"value": "satori",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "0.33.5",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "GHSA-wx4j-mvgx-mqwp",
"aliases": [
"CVE-2026-94545",
"GHSA-wx4j-mvgx-mqwp"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0.0.27"
},
{
"fixed": "0.33.5"
}
]
}
],
"package": {
"name": "satori",
"purl": "pkg:npm/satori",
"ecosystem": "npm"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-wx4j-mvgx-mqwp/GHSA-wx4j-mvgx-mqwp.json"
}
}
],
"modified": "2026-10-27T15:00:04.496894630Z",
"provider": "osv",
"references": [
"https://github.com/vercel/next.js/security/advisories/GHSA-vcvr-r3jv-pc5j",
"https://github.com/vercel/satori/security/advisories/GHSA-wx4j-mvgx-mqwp",
"https://nvd.nist.gov/vuln/detail/CVE-2026-94545",
"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"
],
"provider_metadata": {
"cwe_ids": [
"CWE-116"
],
"severity": "MODERATE",
"github_reviewed": true,
"nvd_published_at": "2026-09-30T15:22:38Z",
"github_reviewed_at": "2026-10-27T14:46:43Z"
}
},
"related_cves": [
{
"value": "CVE-2026-94545",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 462798,
"published_at": "2026-10-27T14:46:43+00:00"
}