{"schema":"threatline.record/2","record":{"id":"CVE-2026-103651","aliases":[],"summary":"MISP HOTP Token Replay via Stale Session-Cached Counter Allows Second-Factor Authentication Bypass","details":"MISP contains a vulnerability in its one-time password (OTP) authentication flow that allows replay of a consumed HOTP (paper) token and rewinding of the token counter.\n\nThe HOTP verification logic compared the submitted token against a counter value that was cached in the user's session at the time the password was entered, rather than against the authoritative counter stored in the database. Because the session-cached counter is not updated after a token is successfully consumed, an attacker who holds a valid session (password already submitted) can reuse a previously burned HOTP token. The stale cached counter still matches the replayed token, granting a second successful authentication and effectively rewinding the counter state.\n\nPreconditions:\n\n- The target user has HOTP (paper token) second-factor authentication enabled.\n\n- The attacker possesses a valid session in which the password step has already been completed (the OTP step is pending).\n\n- The attacker has access to at least one HOTP token value (e.g., a paper token list).\n\nSecurity impact:\n\n- Bypass of the second authentication factor, allowing unauthorized access to a user's MISP account.\n\n- Corruption of the HOTP counter state, potentially invalidating subsequent legitimate tokens or enabling further replays.\n\nAffected versions: <2.5.48.","categories":["Unclassified"],"product":"MISP","vendor":"MISP","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-103651","source_modified_at":"2026-10-01T15:32:08.372Z","fetched_at":"2026-10-23T18:52:38.922436Z","product":"MISP","vendor":"MISP","versions":[{"lessThan":"2.5.48","status":"affected","version":"0","versionType":"semver"}],"defaultStatus":null}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-103651","source_modified_at":"2026-10-01T15:32:08.372Z","fetched_at":"2026-10-23T18:52:38.922436Z","package":{"name":"MISP","ecosystem":null},"version":"2.5.48","basis":"first unaffected version stated in the CVE record"}],"cvss":7.6,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00196,"percentile":0.08769,"score_date":"2026-10-23"},"published_at":"2026-10-01T07:34:02.597Z","modified_at":"2026-10-01T15:32:08.372Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-103651","fetched_at":"2026-10-23T18:52:38.922436Z","source_modified_at":"2026-10-01T15:32:08.372Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-103651","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/MISP/MISP/commit/f34aee2c7","tags":["patch"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"total","assessed_at":"2026-10-01T15:31:56.170497Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-01T15:32:08.372Z","content_hash":"98ce8a5a9ccd48e0846e39222b1bbd7f079e9ed12e6adafb6f81609fcd0e827e"}}
