{"id":"GHSA-j5rm-v3vh-vx94","aliases":[],"status":"published","title":"eduMFA Passkeys: missing expiration flag may allow replay attacks and reuse of old challenges","description":"### Impact\nIn eduMFA \u003c 2.9.1 userless Passkey/WebAuthn challenges might be replayed and do not expire\n\n### Patches\nFixed in eduMFA \u003e= 2.9.1 by adding validity information to the userless challenges.\n\n### Workarounds\nNo known workarounds besides disabling userless login altogether.","severity":{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-287","CWE-613"],"published":"2026-05-18T15:37:00Z","modified":"2026-05-18T15:48:04Z","fixes":[{"ecosystem":"PyPI","package":"edumfa","fixed_in":["2.9.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"edumfa","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.9.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"edumfa","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.9.1"}]}],"versions":["1.2.0","1.3.0","1.4.0","1.5.0","1.5.1","2.0.0","2.0.1","2.0.2","2.0.3","2.1.0","2.2.0","2.3.0","2.4.0","2.5.0","2.6.0","2.6.1","2.7.0","2.7.1","2.7.2","2.8.0","2.9.0","2.9.0rc1"]}],"references":[{"url":"https://github.com/eduMFA/eduMFA/security/advisories/GHSA-j5rm-v3vh-vx94","tags":["web"]},{"url":"https://github.com/advisories/GHSA-j5rm-v3vh-vx94"},{"url":"https://github.com/eduMFA/eduMFA","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-j5rm-v3vh-vx94","title":"eduMFA Passkeys: missing expiration flag may allow replay attacks and reuse of old challenges ","description":"### Impact\nIn eduMFA \u003c 2.9.1 userless Passkey/WebAuthn challenges might be replayed and do not expire\n\n### Patches\nFixed in eduMFA \u003e= 2.9.1 by adding validity information to the userless challenges.\n\n### Workarounds\nNo known workarounds besides disabling userless login altogether.","status":"published","published":"2026-05-18T15:37:00Z","modified":"2026-05-18T15:37:01Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-287","CWE-613"],"updated_at":"2026-11-02T14:40:11.298154Z"}],"osv":[{"id":"GHSA-j5rm-v3vh-vx94","title":"eduMFA Passkeys: missing expiration flag may allow replay attacks and reuse of old challenges ","description":"### Impact\nIn eduMFA \u003c 2.9.1 userless Passkey/WebAuthn challenges might be replayed and do not expire\n\n### Patches\nFixed in eduMFA \u003e= 2.9.1 by adding validity information to the userless challenges.\n\n### Workarounds\nNo known workarounds besides disabling userless login altogether.","status":"published","published":"2026-05-18T15:37:00Z","modified":"2026-05-18T15:48:04.309551Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-287","CWE-613"],"updated_at":"2026-11-02T15:46:49.977351Z"}]}}
