GHSA-2jp7-wwpg-3p9w

Suggest an improvement
Source
https://github.com/advisories/GHSA-2jp7-wwpg-3p9w
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-2jp7-wwpg-3p9w/GHSA-2jp7-wwpg-3p9w.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-2jp7-wwpg-3p9w
Aliases
Published
2026-08-17T17:49:38Z
Modified
2026-08-17T18:11:04Z
Severity
  • 8.7 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
Etherpad has stored XSS in HTML export via unescaped attribute-pool values
Details

Fix: PR #7905 (ether/etherpad).

getHTMLFromAtext in src/node/utils/ExportHtml.ts interpolates values from the exportHtmlAdditionalTagsWithData plugin hook into span data-<k>="<v>" without HTML-attribute escaping. The value comes verbatim from the pad attribute pool, which a pad editor controls via a crafted changeset (only author attributes are validated; moveOpsToNewPool -> AttributePool.putAttrib stores any value). With a bundled plugin that registers the hook (ep_font_color / ep_font_size), an attribute value such as " onload="alert(1) is exported as <span data-color="" onload="alert(1)"> and served as text/html, yielding stored XSS for any collaborator who opens the export.

Fix: escape the name and value via Security.escapeHTMLAttribute. PR #7905 also adds a startup warning when default/placeholder account or SSO credentials are configured (defense-in-depth, non-breaking).

Database specific
{
    "cwe_ids": [
        "CWE-79"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-08-17T17:49:38Z",
    "nvd_published_at": null,
    "severity": "HIGH"
}
References

Affected packages

npm / ep_etherpad-lite

Package

Name
ep_etherpad-lite
View open source insights on deps.dev
Purl
pkg:npm/ep_etherpad-lite

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
3.3.0

Database specific

last_known_affected_version_range
"<= 1.8.14"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-2jp7-wwpg-3p9w/GHSA-2jp7-wwpg-3p9w.json"