Vulnerability · Published Jun 22, 2026 · Assigned by GitHub_M
CVE-2026-44311Fabric.js: Improper escaping in fabric.Gradient colorStops leads to XSS in SVG serialization
Medium 5.4
In plain English
A medium-severity cross-site scripting in fabric.js from fabricjs. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 20% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Fabric.js is a Javascript HTML5 canvas library. Prior to 7.4.0, a potential Cross-Site Scripting (XSS) vulnerability exists in Fabric.js due to improper escaping of user-controlled input during SVG serialization via the toSVG() method. Specifically, the color field within the colorStops array of a fabric.Gradient object is not properly escaped when converted into SVG <stop> elements. If an application renders the generated SVG string into the DOM, this may allow an attacker to inject arbitrary HTML/SVG and execute JavaScript in the victim's browser. This vulnerability is fixed in 7.4.0.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | fabric | 7.4.0 | GHSA-w22m-hvvm-xmwx |
Affected products (as reported)
Weakness: CWE-79, CWE-116 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
References
- https://github.com/fabricjs/fabric.js/security/advisories/GHSA-w22m-hvvm-xmwx x_refsource_CONFIRM
- https://github.com/fabricjs/fabric.js/releases/tag/v740 x_refsource_MISC