Etherpad is a real-time collaborative editor. From 2.1.0 until 3.1.0, Etherpad uses the attacker-controlled x-proxy-path request header in src/node/hooks/express/admin.ts when substituting paths into HTML, JavaScript, and CSS under /admin without sanitization, Vary: x-proxy-path, or Cache-Control: private, no-store. A shared proxy or CDN can cache the resulting response and serve attacker-injected script to an administrator. In src/node/hooks/express/specialpages.ts, version 3.0.0 also accepts a protocol-relative x-proxy-path value when constructing the /p/:pad/timeslider redirect, allowing redirection to an attacker-controlled host. The issues are exploitable when the deployment permits client-supplied x-proxy-path headers to reach Etherpad. This issue is fixed in version 3.1.0.
| Métrique | Valeur | Interprétation |
|---|---|---|
|
AV (Vecteur d'Attaque)
Attack Vector
|
Network (N)
|
Exploit possible à distance via réseau (HTTP, API, etc.) |
|
AC (Complexité d'Attaque)
Attack Complexity
|
Low (L)
|
Peu de conditions requises pour exploiter |
|
PR (Privilèges Requis)
Privileges Required
|
None (N)
|
Aucune authentification requise |
|
UI (Interaction Utilisateur)
User Interaction
|
Required (R)
|
Nécessite une action utilisateur (clic lien, ouverture fichier, etc.) |
|
S (Périmètre)
Scope
|
Changed (C)
|
Impact s'étend au-delà du composant compromis |
|
C (Impact Confidentialité)
Confidentiality Impact
|
Low (L)
|
Divulgation limitée d'informations |
|
I (Impact Intégrité)
Integrity Impact
|
Low (L)
|
Modification limitée des données possible |
|
A (Impact Disponibilité)
Availability Impact
|
None (N)
|
Aucune interruption de service |
ep_etherpad-lite: Cache-poisoning Cross-site Scripting and Open Redirect via x-proxy-path Header
Etherpad: x-proxy-path header reflected into admin HTML/JS/CSS (cache-poisoning XSS) and concatenated into redirect (open-redirect)
Des templates Nuclei sont disponibles pour scanner cette vulnérabilité.
nuclei -t http/cves/2026/CVE-2026-55087.yaml -u target.com