GHSA-gpfj-4j6g-c4w9

    Dashboard / Vulnerabilities / GHSA-gpfj-4j6g-c4w9

    GHSA-gpfj-4j6g-c4w9

    Published: 12 Aug 2021Last Modified: 8 Jul 2026

    Summary: Clipboard-based DOM-XSS

    Details: ### Impact A self Cross-Site Scripting vulnerability exists in the @github/paste-markdown library. If the clipboard data contains the string `<table>`, a **div** is dynamically created, and the clipboard content is copied into its **innerHTML** property without any sanitization, resulting in improper execution of JavaScript in the browser of the victim (the user who pasted the code). Users directed to copy text from a malicious website and paste it into pages that utilize this library are affected. The following @github/paste-markdown code snippet is triggered when the user pastes something and the browser's clipboard data contains an entry whose content-type is **text/HTML**. ```typescript function generateText(transfer: DataTransfer): string | undefined { if (Array.from(transfer.types).indexOf('text/html') === -1) return let html = transfer.getData('text/html') if (!/<table/i.test(html)) return html = html.replace(/<meta.*?>/, '') const el = document.createElement('div') el.innerHTML = html const tables = el.querySelectorAll('table') for (const table of tables) { if (table.closest('[data-paste-markdown-skip]')) { table.replaceWith(new Text(table.textContent || '')) } const formattedTable = tableMarkdown(table) table.replaceWith(new Text(formattedTable)) } return el.innerHTML } ``` ### Patches A security patch was released in [version 0.3.4](https://github.com/github/paste-markdown/releases/tag/v0.3.4). ### Workarounds A Content Security Policy that prevents `unsafe-inline` helps reduce the likelihood of this vulnerability being exploited in modern browsers. <!-- ### References _Are there any links users can visit to find out more?_ ### For more information If you have any questions or comments about this advisory: * Open an issue in [example link to repo](http://example.com) * Email us at [example email address](mailto:[email protected]) * -->

    Affected packages

    Package

    Name: @github/paste-markdown

    Purl: pkg:npm/%40github/paste-markdown

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0
    Fixed -0.3.4

    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-gpfj-4j6g-c4w9 | CVE-DB