CVE-2026-44311 json
Fabric.js: Improper escaping in fabric.Gradient colorStops leads to XSS in SVG serialization
published 2026-06-12 4 mo ago modified 2026-10-25 14 d ago also EUVD-2026-38399 , GHSA-w22m-hvvm-xmwx
- cvss
- 5.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/fabricjs/fabric.js/security/advisories/GHSA-w22m-hvvm-xmwx referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| GitHub | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | fabric | <7.4.0 |
7.4.0 |
Affected products
- fabricjs fabric.js
Classification
References
-
github.com
/fabricjs/fabric.js/security/advisories/GHSA-w22m-hvvm-xmwx
exploit, web, mitigation, vendor-advisory
-
github.com
/fabricjs/fabric.js/releases/tag/v740
web, product, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-44311
advisory
-
github.com
/fabricjs/fabric.js
package
Sources
- CVE List CVE-2026-44311
- GitHub Advisory GHSA-w22m-hvvm-xmwx
- NVD CVE-2026-44311
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.