<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-02T05:40:21.657656+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-44311</id>
    <title>fkie_cve-2026-44311</title>
    <updated>2026-10-02T05:40:21.675802+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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 &lt;stop&gt; 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.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-44311"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-w22m-hvvm-xmwx</id>
    <title>GHSA-w22m-hvvm-xmwx — Fabric.js improper escaping in fabric.Gradient colorStops leads to XSS in SVG serialization</title>
    <updated>2026-10-02T05:40:21.675862+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: fabric</p>
<p>### Summary</p>
<p>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.</p>
<p>Specifically, the `color` field within the `colorStops` array of a `fabric.Gradient` object is not properly escaped when converted into SVG `&lt;stop&gt;` elements. If an application renders the generated SVG string into the DOM (e.g., via `innerHTML`), this may allow an attacker to inject arbitrary HTML/SVG and execute JavaScript in the victim's browser.</p>
<p>### Details</p>
<p>During SVG export, Fabric.js serializes gradient color stops into `&lt;stop&gt;` elements like:</p>
<p>```xml
&lt;stop offset="0" stop-color="..."&gt;&lt;/stop&gt;
```</p>
<p>However, the `color` value is inserted into the `stop-color` attribute without proper escaping of special characters such as `"`, `&lt;`, and `&gt;`. This allows crafted input to break out of the attribute context and inject arbitrary markup.</p>
<p>For example:
```js
color: 'red"&gt;&lt;img src="x" onerror="alert(1)"&gt;'
```</p>
<p>may result in:
```xml
&lt;stop offset="0" stop-color="red"&gt;
&lt;img src="x" onerror="alert(1)"&gt;
```
This breaks the intended SVG structure and introduces executable HTML.</p>
<p>### PoC (Proof of Concept)</p>
<p>Successfully verified on **v7.2.0** (current latest version). The following HTML and JavaScript code reproduces the vulnerability. The code constructs a rectangle with a maliciously crafted gradient color stop and exports it to SVG:</p>
<p>```html
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
   &lt;title&gt;Fabric.js SVG E…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-w22m-hvvm-xmwx"/>
  </entry>
</feed>
