GHSA-92hr-gmr6-h8cp: Etherpad addressed weak token RNG, login timing, plugin path handling, API request handling
Fix: PR #7906 (ether/etherpad). A set of medium/low hardening fixes:
- Weak RNG for tokens (CWE-330): author/session/readonly IDs were generated with
Math.random()(client and server). Now usecrypto.getRandomValues. - Login timing / no failure delay (CWE-208/CWE-307): the OIDC interaction login used a non-constant-time password compare with no failure delay. Now uses
crypto.timingSafeEqualplus a uniform failure delay; user lookup is own-property only. - Plugin dependency path handling (CWE-22): plugin dependency names from package.json were used to build filesystem paths without validation (admin-gated install). Now validated against the npm name grammar.
- API parameter pollution (CWE-235):
/api/2merged all request headers into the API field set. Now forwards onlyauthorization, matching the openapi.ts handler. - Pad-creation side effect:
API.appendChatMessagecould create arbitrary pads (missinggetPadSafe). Now requires the pad to exist. - Error info disclosure (CWE-209): the admin file server echoed filesystem error detail; now returns a generic message.
References
Code Behaviors & Features
Detect and mitigate GHSA-92hr-gmr6-h8cp with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →