CVE-2026-27013

Fabric.js Affected by Stored XSS via SVG Export

Published Feb 19, 2026 CVSS 3.1 · 7.6 High EPSS < 1% KEV · Not listed
Description
Fabric.js is a Javascript HTML5 canvas library. Prior to version 7.2.0, Fabric.js applies `escapeXml()` to text content during SVG export (`src/shapes/Text/TextSVGExportMixin.ts:186`) but fails to apply it to other user-controlled string values that are interpolated into SVG attribute markup. When attacker-controlled JSON is loaded via `loadFromJSON()` and later exported via `toSVG()`, the unescaped values break out of XML attributes and inject arbitrary SVG elements including event handlers. Any application that accepts user-supplied JSON (via `loadFromJSON()`, collaborative sharing, import features, CMS plugins) and renders the `toSVG()` output in a browser context (SVG preview, export download rendered in-page, email template, embed) is vulnerable to stored XSS. An attacker can execute arbitrary JavaScript in the victim's browser session. Version 7.2.0 contains a fix.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-hfvx-25r5-qc3w Fabric.js Affected by Stored XSS via SVG Export
History
Type Values Removed Values Added
First Time appeared Fabricjs
Fabricjs fabric.js
CPEs cpe:2.3:a:fabricjs:fabric.js:*:*:*:*:*:node.js:*:*
Vendors & Products Fabricjs
Fabricjs fabric.js
Type Values Removed Values Added
First Time appeared Fabric-js Project
Fabric-js Project fabric-js
Vendors & Products Fabric-js Project
Fabric-js Project fabric-js
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Fabric.js is a Javascript HTML5 canvas library. Prior to version 7.2.0, Fabric.js applies `escapeXml()` to text content during SVG export (`src/shapes/Text/TextSVGExportMixin.ts:186`) but fails to apply it to other user-controlled string values that are interpolated into SVG attribute markup. When attacker-controlled JSON is loaded via `loadFromJSON()` and later exported via `toSVG()`, the unescaped values break out of XML attributes and inject arbitrary SVG elements including event handlers. Any application that accepts user-supplied JSON (via `loadFromJSON()`, collaborative sharing, import features, CMS plugins) and renders the `toSVG()` output in a browser context (SVG preview, export download rendered in-page, email template, embed) is vulnerable to stored XSS. An attacker can execute arbitrary JavaScript in the victim's browser session. Version 7.2.0 contains a fix.
Title Fabric.js Affected by Stored XSS via SVG Export
Weaknesses CWE-116
CWE-79
References
Metrics cvssV3_1

{'score': 7.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Feb 19, 2026, 9:21 PM
Reserved
Feb 17, 2026, 3:08 AM
Status
Analyzed
Published
Feb 19, 2026, 8:25 PM
Modified
Jun 17, 2026, 10:26 AM