{"schema_version":"1","data":[{"id":1716,"advisory_id":"64349781-2711-483b-860c-b0d3a8fca317","revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-93868","source_published_at":"2026-09-18T19:56:34.779+00:00","published_at":"2026-10-24T21:06:15.249751+00:00","extraction_method":"structured","technologies":["core-cve","cotonti"],"cve_ids":["CVE-2026-93868"],"event_types":["advisory"],"payload":{"kind":"advisory","title":"Cotonti through 1.0.0 Predictable Password Recovery Token via Weak PRNG","summary":"Cotonti through 1.0.0 derives password recovery validation tokens from md5(microtime()) in users.passrecover.php, creating a predictable token space of approximately one million values per second. Unauthenticated attackers can read the server Date header, precompute candidate tokens within a narrow time window, and probe them against the passrecover authentication endpoint to reset any account password including administrators.","evidence":"cve:CVE-2026-93868","products":[{"name":{"value":"Cotonti","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"critical","structured":{"id":"CVE-2026-93868","aliases":["CVE-2026-93868"],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","baseScore":9.2,"attackVector":"NETWORK","baseSeverity":"CRITICAL","vectorString":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","userInteraction":"NONE","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"NONE","subIntegrityImpact":"NONE","vulnIntegrityImpact":"HIGH","subAvailabilityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","vulnConfidentialityImpact":"HIGH"}},{"format":"CVSS","cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":8.1,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"HIGH","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"repo":"https://github.com/Cotonti/Cotonti","vendor":"Cotonti","product":"Cotonti","versions":[{"status":"affected","version":"0","versionType":"custom","lessThanOrEqual":"1.0.0"}],"packageURL":"pkg:composer/cotonti/cotonti","programFiles":["modules/users/inc/users.passrecover.php"],"defaultStatus":"unaffected"}],"modified":"2026-09-24T14:23:16.939Z","provider":"cve","references":["https://github.com/Cotonti/Cotonti/issues/1890","https://github.com/Cotonti/Cotonti/pull/1898","https://github.com/Cotonti/Cotonti/blob/1.0.0/modules/users/inc/users.passrecover.php","https://github.com/Cotonti/Cotonti","https://www.vulncheck.com/advisories/cotonti-through-1.0.0-predictable-password-recovery-token-via-weak-prng"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-93868","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-09-18T20:19:56.767733Z"}}}],"references":[{"url":"https://github.com/Cotonti/Cotonti/issues/1890","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-18T20:20:21.721Z"}}],"cna":{"orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","shortName":"VulnCheck","dateUpdated":"2026-09-24T14:23:16.939Z"}}},"related_cves":[{"value":"CVE-2026-93868","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"}}],"next_after":1716,"next_before":1716}