{"items":[{"id":"NVI-00015373","kind":"vulnerability","title":"Etherpad addressed weak token RNG, login timing, plugin path handling, API request handling","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-92hr-gmr6-h8cp"],"plain_summary":"GitHub lists this reviewed advisory for ep_etherpad-lite. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-61cd4254338be6ec5cb688cfd6d71a72"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-61cd4254338be6ec5cb688cfd6d71a72","url":"https://github.com/advisories/GHSA-92hr-gmr6-h8cp","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-92hr-gmr6-h8cp","publisher":"GitHub Advisory Database","observed_at":"2026-11-02T20:15:44.568Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-61cd4254338be6ec5cb688cfd6d71a72"],"technology":"ep_etherpad-lite","known_exclusions":[],"conditions_summary":"Fix: PR #7906 (ether/etherpad). A set of medium/low hardening fixes:\n\n- **Weak RNG for tokens (CWE-330):** author/session/readonly IDs were generated with `Math.random()` (client and server). Now use `crypto.getRandomValues`.\n- **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.\n- **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.\n- **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.\n- **Pad-creation side effect:** `API.appendChatMessage` could create arbitrary pads (missing `getPadSafe`). Now requires the pad to exist.\n- **Error info disclosure (CWE-209):** the admin file server echoed filesystem error detail; now returns a generic message.","public_affected_ranges":["<= 1.8.14"]}],"null_published_at":"2026-11-03T10:03:31.358Z","source_updated_at":"2026-08-17T17:49:22.000Z","source_disclosed_at":"2026-08-17T17:49:21.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-02T20:15:44.568Z"}],"next_cursor":null,"snapshot_revision":"42594"}