Vigilbase CVEConnect your agent

Satori-generated SVG has improper escaping

Not in CISA KEVCVE-2026-94545CWE-116

Not confirmed exploited. 1 of 8 rule sources name it.

Edge rules
1/8
Our test
No exploit yet
CVSS
5.3
EPSS
1.1% Top 35%
Posts, 14d
02026-10-20: 0 posts2026-10-21: 0 posts2026-10-22: 0 posts2026-10-23: 0 posts2026-10-24: 0 posts2026-10-25: 0 posts2026-10-26: 0 posts2026-10-27: 0 posts2026-10-28: 0 posts2026-10-29: 0 posts2026-10-30: 0 posts2026-10-31: 0 posts2026-11-01: 0 posts2026-11-02: 0 posts
Published
2026-09-30
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… More

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.

Ask Vigil

AI · answers from this page
Ask about CVE-2026-94545: who's covered, what to patch first, how vendors compare. I cite sources and won't help with attacks.

Workers AI (Llama 3.3). Can be wrong: check the cited source.

Severity, decoded

CVSS 4.0
Medium · 5.3 / 10

Exploitable over the network under specific conditions, with no privileges and some user interaction, leading to no direct impact on confidentiality, integrity or availability; other systems can also be hit (full loss of confidentiality and integrity).

Over the internetNo login neededNeeds a user to actWorks reliablySpreads beyond the app
How the score is built11 metrics
  • Attack vectorAn attacker can reach it over the internet; no access to your network needed.
    Network
  • Attack complexityNo built-in defences have to be bypassed; the attack works reliably.
    Low
  • Attack requirementsThe attack only works under specific conditions, such as a race or a particular setup.
    Present
  • Privileges requiredNo account or login is needed.
    None
  • User interactionA user has to do something ordinary, such as visit a page or open a file.
    Passive
  • Confidentiality impact (vulnerable system)No data is exposed.
    None
  • Integrity impact (vulnerable system)Data cannot be changed by the attacker.
    None
  • Availability impact (vulnerable system)The component keeps working normally.
    None
  • Confidentiality impact (other systems)Other systems that rely on it can have all their data read.
    High
  • Integrity impact (other systems)Other systems that rely on it can have any data changed.
    High
  • Availability impact (other systems)Other systems keep working normally.
    None
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
CISA's assessmentSSVC, from the CVE record
ExploitationNone

CISA has seen no public exploit and no attacks.

AutomatableNo

At least one step needs hands-on work, which slows mass attacks.

Technical impactPartial

A successful attack gives limited control over the affected software or limited access to its data.

Public exploits

None found
0 Metasploit0 Exploit-DB0 Scanner template0 GitHub PoCs

No exploit in Exploit-DB or Metasploit, and no scanner template. That lowers, but doesn't remove, the chance of mass exploitation.

Timeline

  1. 2026-09-30
    CVE published
    CVE List
  2. 2026-10-21
    F5 ships a rule
    Next.js Open Graph Remote Code Execution

Social

2026-10-20: 0 posts2026-10-21: 0 posts2026-10-22: 0 posts2026-10-23: 0 posts2026-10-24: 0 posts2026-10-25: 0 posts2026-10-26: 0 posts2026-10-27: 0 posts2026-10-28: 0 posts2026-10-29: 0 posts2026-10-30: 0 posts2026-10-31: 0 posts2026-11-01: 0 posts2026-11-02: 0 posts

No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.

Vendor statements

Quoted
CloudflareWAF Managed RulesNo public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Each row gives the rule ID and its default action. The feed starts in January 2025, so older rules are missing.

AWSAWS WAF Managed RulesNo public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. AWS often describes a vulnerability without naming its CVE (for example "Log4j"). We count only entries that name the CVE, so AWS coverage is understated.

Microsoft AzureFront Door and Application Gateway WAF (DRS)No public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. The rule tables name CVEs but carry no dates, so Azure is left out of every time-to-rule figure.

Google CloudCloud Armor preconfigured WAF rulesNo public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Google names few CVEs: the release notes start in May 2024 and the rules reference lists CVEs without dates. Its cve-canary rules are opt-in.

FastlyNext-Gen WAF virtual patchesBefore feed history

The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.

F5Attack signatures (Distributed Cloud WAF)1 quoteRule published

First rule 2026-10-21, 21 days after the CVE was published.

2026-10-21New rule200204104Source
Added: signature 200204104 "Next.js Open Graph Remote Code Execution" (Server Side Code Injection, risk High), systems: Node.js, ReactJS. References: CVE-2026-94545, CVE-2026-96889.
AkamaiApp & API Protector (Adaptive Security Engine)No public source

This vendor publishes no machine-readable rule changelog we can check.

OWASP CRSCore Rule Set (open source, used inside many WAFs)No public claim

We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. CRS rarely names CVEs: it relies on generic detections. Our own lab measures what it actually blocks.