Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid non-admin OAuth token
-
DeliveryCall /api/2/* admin endpoint
-
ExploitClaim-existence check passes
-
ExecutionInvoke listAllPads/setHTML/deletePad
-
ImpactRead, modify, or delete all pads
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the Etherpad instance to be running the OAuth2 authorization_code flow (src/node/security/OAuth2Provider.ts) and the attacker to possess a valid, correctly signed token for a configured non-admin user - i.e., the attacker must be an authenticated, provisioned account, not anonymous. Given that token, no admin role, no user interaction, and no special client configuration are needed to call the administrative /api/2/* endpoints (setHTML, setText, appendText, deletePad, copyPad, movePad, restoreRevision, anonymizeAuthor, listAllPads, listAuthorsOfPad). What limits exploitation: instances that do not enable the OAuth authorization_code path, or that provision no non-admin OAuth users, are not exposed; the requirement to first hold a legitimately issued token is the primary barrier and is why PR is Low rather than None. |
| Impact | Signals are mostly aligned toward high priority but with one important caveat. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L, 9.9) indicates a remote, low-complexity, low-privilege attack with a scope change, which fits: any valid non-admin OAuth token holder crosses a trust boundary to control the entire instance. The critical prerequisite the raw 9.9 obscures is PR:L - the attacker must first hold a legitimate signed token, meaning the OAuth2 authorization_code path must be configured and the attacker must be a provisioned (if unprivileged) user, not an anonymous internet actor. No EPSS score, KEV listing, or POC was provided, so there is no evidence of active exploitation; this is a de-prioritizing signal relative to the CVSS number. However, the fix is a public GitHub commit and PR, so weaponization effort is low. Net: treat as an urgent internal-privilege-escalation issue for any Etherpad instance using OAuth with non-admin users, and lower priority for instances that do not expose the OAuth authorization_code flow. |
| Exploit ScenarioDerived | An organization runs Etherpad with OAuth login for staff. A rank-and-file employee (or an attacker who has phished any low-privilege account) obtains their normal signed access token and sends it to /api/2/listAllPads and /api/2/getText, then to setHTML and deletePad. Because the API only checks that the admin claim exists, the non-admin token is accepted and the attacker reads, rewrites, or deletes every pad on the instance. No POC was provided, but the public fix commit makes the exploit trivial to derive. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Privilege escalation to administrative API access in Etherpad 2.1.0 through 3.0.x lets any authenticated non-admin OAuth user invoke instance-wide admin functions. The flaw is a broken authorization check in the /api/2/* handler that treats the mere presence of the admin claim as sufficient, ignoring that OAuth2Provider issues admin: false for non-admin users. Rated CVSS 9.9 with a scope change; no public exploit identified at time of analysis, but the fix is straightforward to reverse-engineer from the public patch.
RemediationAI
Vendor-released patch: upgrade to Etherpad 3.1.0, which corrects the claim check to require admin to be true rather than merely present (fix commit 8c6104c5d5daf41f0d454acc04d42dffa0e0d996 via PR https://github.com/ether/etherpad/pull/7784; advisory GHSA-qfmh-fph3-mw8q). If you cannot upgrade immediately, reduce exposure by disabling or not configuring the OAuth2 authorization_code path so that non-admin signed tokens cannot be issued or accepted, and place a reverse proxy or network ACL in front of the /api/2/* endpoints to restrict them to trusted admin origins - the trade-off is that legitimate remote API automation using those endpoints will break. Revoking outstanding non-admin OAuth tokens after patching is also advisable, since any previously issued token could have been abused. Do not rely on user 'non-admin' role settings as a control, since that is precisely the boundary this bug ignores.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Etherpad is a Node.js/TypeScript real-time collaborative document editor exposing a REST-style management API under /api/2/*. The vulnerability lives in the authorization_code OAuth2 flow: src/node/handler/APIHandler.ts gates admin endpoints using a requiredClaims mechanism that asserts the admin claim is present in the signed token, but does not assert its value is true. Meanwhile src/node/security/OAuth2Provider.ts legitimately mints tokens containing admin: false for configured non-admin accounts. This is a textbook CWE-863 (Incorrect Authorization) - the token is authentic and correctly signed, so authentication and integrity of the claim are intact, but the policy decision uses claim existence rather than claim value. The affected component per CPE is cpe:2.3:a:ether:etherpad, all builds in the 2.1.0-to-pre-3.1.0 range.
Know when Etherpad gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L
A valid signed non-admin token is required (PR:L), the flaw crosses from user to admin authority within the instance (S:C), and admin API grants full read/write plus pad deletion (C:H/I:H/A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Etherpad is a real-time collaborative editor. From 2.1.0 until 3.1.0, Etherpad's src/node/handler/APIHandler.ts authorizes requests to /api/2/* in the authorization_code OAuth path by using requiredClaims with the admin claim. This check requires only that the claim exists, while src/node/security/OAuth2Provider.ts issues admin: false for configured non-admin users. A non-admin user with a valid signed token can therefore invoke administrative functions including setHTML, setText, appendText, deletePad, copyPad, movePad, restoreRevision, anonymizeAuthor, listAllPads, and listAuthorsOfPad, allowing disclosure, modification, or deletion of pads across the instance. This issue is fixed in version 3.1.0.
Executive ViewAI
Etherpad versions 2.1.0 through 3.0.x contain a critical privilege escalation vulnerability (CVSS 9.9) that allows authenticated non-admin OAuth users to escalate to full administrative access and invoke instance-wide admin functions. No public exploit identified at time of analysis, but the fix is readily reverse-engineerable from the public patch. Organizations running Etherpad face immediate risk of insider privilege escalation and unauthorized system control.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Etherpad Lite before 1.6.4 is exploitable for admin access. Rated critical severity (CVSS 9.8), this vulnerability is re
An Argument Injection issue in the plugin management of Etherpad 1.8.13 allows privileged users to execute arbitrary cod
A Cross-Site Scripting (XSS) issue in the chat component of Etherpad 1.8.13 allows remote attackers to inject arbitrary
Etherpad 1.6.3 before 1.6.4 allows an attacker to execute arbitrary code. Rated critical severity (CVSS 9.8), this vulne
node/hooks/express/apicalls.js in Etherpad Lite before v1.6.3 mishandles JSONP, which allows remote attackers to bypass
Stored cross-site scripting in Etherpad before 3.3.1 lets any user with write access to a pad execute arbitrary JavaScri
Etherpad is a real-time collaborative editor. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable
Directory traversal vulnerability in node/utils/Minify.js in Etherpad 1.1.1 through 1.5.2 allows remote attackers to rea
Etherpad 1.5.x and 1.6.x before 1.6.4 allows an attacker to execute arbitrary code on the server. Rated high severity (C
Directory traversal vulnerability in node/hooks/express/tests.js in Etherpad frontend tests before 1.6.1. Rated high sev
Etherpad 1.5.x and 1.6.x before 1.6.4 allows an attacker to export all the existing pads of an instance without knowledg
templates/pad.html in Etherpad-Lite 1.7.5 has XSS when the browser does not encode the path of the URL, as demonstrated
EUVD-2026-62737
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB