Etherpad: Stored XSS in HTML export via unescaped attribute-pool values
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Etherpad is a real-time collaborative editor. Prior to 3.3.0, getHTMLFromAtext in src/node/utils/ExportHtml.ts interpolates values from the exportHtmlAdditionalTagsWithData plugin hook into span data attributes without HTML attribute escaping. A pad editor can place an attacker-controlled value into the attribute pool through moveOpsToNewPool and AttributePool.putAttrib. When a bundled plugin such as ep_font_color or ep_font_size registers the hook, opening the resulting HTML export causes the value to execute as stored cross-site scripting in the Etherpad origin. This issue is fixed in version 3.3.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| ether | etherpad | before 3.3.0 | 3.3.0 | Patch available | CNA |
| — | ep_etherpad-lite (npm) | before 3.3.0 | 3.3.0 | Patch available | GHSA-2jp7-wwpg-3p9w |
- etherpad Vendorether Affected before 3.3.0 Fixed in 3.3.0 Patch available CNA
- ep_etherpad-lite (npm) Vendor— Affected before 3.3.0 Fixed in 3.3.0 Patch available GHSA-2jp7-wwpg-3p9w
Remediation
- Fix · CNA etherpad (ether) Fixed in 3.3.0
- Fix · GHSA-2jp7-wwpg-3p9w ep_etherpad-lite (npm) Fixed in 3.3.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55090
- 2026-10-03 Alias added: GHSA-2jp7-wwpg-3p9w
References
Other 6
- https://github.com/ether/etherpad/security/advisories/GHSA-2jp7-wwpg-3p9w
- https://github.com/ether/etherpad/pull/7905
- https://github.com/ether/etherpad/commit/86c56cf827dd6e5ff1b6cd3760f87adc47f58bb1
- https://github.com/ether/etherpad/releases/tag/v3.3.0
- https://github.com/ether/etherpad
- https://github.com/ether/etherpad/releases/tag/3.3.0
More ether vulnerabilities
- TI-2026-39793 Etherpad: JWT `admin` claim presence-only check lets non-admin OAuth users invoke every Etherpad HTTP API endpoint CVSS 3.1CRITICAL 9.9
- TI-2026-39789 Etherpad: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in etherpad-lite CVSS 3.1CRITICAL 9.6
- TI-2026-39790 Link following in etherpad CVSS 3.1MEDIUM 4.2
- TI-2009-04910 Session fixation in ether Catalyst::Plugin::Authentication CVSS 3.1CRITICAL 9.1
- TI-2025-27313 Catalyst::Authentication::Credential::HTTP versions 1.018 and earlier for Perl use insecurely generated nonces CVSS 3.1HIGH 8.6
- TI-2026-39792 Information disclosure in etherpad CVSS 3.1MEDIUM 6.8
Sources
- CVE-2026-55090 · CVE Program
- CVE-2026-55090 · NVD
- FIRST EPSS
- GHSA-2jp7-wwpg-3p9w · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences