GHSA-92hr-gmr6-h8cp: Path Traversal

Published Aug 17, 2026
·
Updated

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 use crypto.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.timingSafeEqual plus 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/2 merged all request headers into the API field set. Now forwards only authorization, matching the openapi.ts handler. - Pad-creation side effect: API.appendChatMessage could create arbitrary pads (missing getPadSafe). Now requires the pad to exist. - Error info disclosure (CWE-209): the admin file server echoed filesystem error detail; now returns a generic message.

Affected Software

1 affected componentFixes available
npm/ep_etherpad-lite<=1.8.14
3.3.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/ep_etherpad-lite to a version that resolves this vulnerability.

    Fixed in 3.3.0
  2. Upgrade

    Upgrade ether/etherpad to a version that resolves this vulnerability.

    Patch PR #7906
  3. Configuration

    Update the /api/2 handler to forward only the 'authorization' request header (as in openapi.ts), instead of merging all request headers into the API field set.

    API handler (openapi.ts) for /api/2 request header forwarding = forward only 'authorization' header; do not merge all request headers into API field set
  4. Configuration

    Modify the admin file server so that it no longer echoes filesystem error detail and instead returns a generic message.

    Admin file server filesystem error response detail = generic message (no filesystem error detail)
  5. Configuration

    Change the OIDC interaction login to use crypto.timingSafeEqual for constant-time password comparison, add a uniform failure delay on authentication failure, and ensure user lookup is 'own-property' only.

    OIDC login/password comparison password compare and failure delay = use crypto.timingSafeEqual with a uniform failure delay; perform user lookup as own-property only
  6. Configuration

    Update API.appendChatMessage so it no longer creates arbitrary pads and instead requires the pad to exist (e.g., via getPadSafe guard / existence requirement).

    API.appendChatMessage pad creation behavior = require pad to exist (no arbitrary pad creation)
  7. Configuration

    Validate plugin dependency names from package.json against the npm name grammar before using them to build filesystem paths.

    Admin-gated plugin dependency installer dependency name to filesystem path handling = validate dependency names against the npm name grammar before building filesystem paths
  8. Configuration

    Replace Math.random()-based generation of author/session/readonly IDs with crypto.getRandomValues on both client and server.

    Token ID generation (author/session/readonly) RNG for tokens = crypto.getRandomValues (client and server)

Event History

Aug 17, 2026
Advisory Published
via GitHub·05:49 PM
Data Sourced
via GitHub·05:49 PM
DescriptionWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of GHSA-92hr-gmr6-h8cp?

The severity of GHSA-92hr-gmr6-h8cp is classified as medium/low risk.

2

How do I fix GHSA-92hr-gmr6-h8cp?

You can fix GHSA-92hr-gmr6-h8cp by updating to the version that includes the changes from PR #7906.

3

What vulnerabilities are addressed in GHSA-92hr-gmr6-h8cp?

GHSA-92hr-gmr6-h8cp addresses weaknesses related to weak RNG for tokens and login timing issues.

4

What is the impact of weak RNG in GHSA-92hr-gmr6-h8cp?

The impact of weak RNG in GHSA-92hr-gmr6-h8cp can lead to predictable token generation, compromising security.

5

When was GHSA-92hr-gmr6-h8cp published?

GHSA-92hr-gmr6-h8cp was published on August 17, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203