{"id":"CVE-2019-12887","aliases":["EUVD-2019-0076","GHSA-rqg8-xjp2-pg9w","PYSEC-2019-103"],"status":"published","title":"LinOTP replay vulnerability with auto resynchronization enabled for TOTP token","description":"KeyIdentity LinOTP before 2.10.5.3 has Incorrect Access Control (issue 1 of 2).","severity":{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01169,"percentile":0.67618,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-294"],"published":"2019-06-27T13:10:43Z","modified":"2026-10-24T10:30:46Z","fixes":[{"ecosystem":"PyPI","package":"linotp","fixed_in":["2.11.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"linotp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"linotp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.1"}]}],"versions":["2.10","2.10.0.1","2.7","2.7.0.2","2.7.1","2.7.1.1","2.7.1.2","2.7.2","2.7.2.1","2.7.2.2","2.8","2.8.0.1","2.8.0.2","2.8.0.3","2.8.1","2.8.1.2","2.8.1.3","2.8.1.7","2.9","2.9.0.3","2.9.0.4","2.9.0.5","2.9.1","2.9.1.4","2.9.3","2.9.3.1","2.9.3.2","2.9.3.3"]},{"source":"osv","ecosystem":"PyPI","package":"linotp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.11.1"}]}],"versions":["2.10","2.10.0.1","2.7","2.7.0.2","2.7.1","2.7.1.1","2.7.1.2","2.7.2","2.7.2.1","2.7.2.2","2.8","2.8.0.1","2.8.0.2","2.8.0.3","2.8.1","2.8.1.2","2.8.1.3","2.8.1.7","2.9","2.9.0.3","2.9.0.4","2.9.0.5","2.9.1","2.9.1.4","2.9.3","2.9.3.1","2.9.3.2","2.9.3.3"]}],"products":[{"vendor":"keyidentity","product":"linotp"}],"references":[{"url":"https://www.linotp.org/CVE-2019-12887.txt","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-12887","tags":["advisory"]},{"url":"https://github.com/LinOTP/LinOTP/commit/6d28d93af59d2ce0d844a6a3282148064efc6ad8","tags":["web"]},{"url":"https://linotp.org/linotp-hotfix-autoresync.html","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/linotp/PYSEC-2019-103.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-rqg8-xjp2-pg9w","tags":["advisory"]},{"url":"https://github.com/LinOTP/LinOTP","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2019-12887","description":"KeyIdentity LinOTP before 2.10.5.3 has Incorrect Access Control (issue 1 of 2).","status":"published","published":"2019-06-27T13:10:43Z","modified":"2024-08-04T23:32:55.603Z","updated_at":"2026-11-02T14:20:24.025419Z"}],"euvd":[{"id":"EUVD-2019-0076","description":"KeyIdentity LinOTP before 2.10.5.3 has Incorrect Access Control (issue 1 of 2).","status":"published","published":"2019-06-27T13:10:43Z","modified":"2024-08-04T23:32:55Z","updated_at":"2026-11-03T02:40:44.884887Z"}],"ghsa":[{"id":"GHSA-rqg8-xjp2-pg9w","title":"LinOTP replay vulnerability with auto resynchronization enabled for TOTP token","description":"LinOTP is prone to a replay attack with activated automatic resynchronization. This vulnerability may allow an attacker to successfully log in with OTP values recorded at a previous point in time.\n\nThis attack is only possible if automatic resynchronization is enabled for the TOTP token type. The automatic resynchronization  is deactivated by default. All other tokens are unaffected.","status":"published","published":"2022-05-24T16:48:44Z","modified":"2024-09-30T16:45:36Z","cvss":[{"version":"4.0","score":9.2,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"},{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-294"],"updated_at":"2026-11-02T14:38:06.988799Z"}],"nvd":[{"id":"CVE-2019-12887","description":"KeyIdentity LinOTP before 2.10.5.3 has Incorrect Access Control (issue 1 of 2).","status":"published","published":"2019-06-27T14:15:10.457Z","modified":"2026-06-17T02:15:39.767Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-294"],"updated_at":"2026-11-02T14:05:17.695191Z"}],"osv":[{"id":"CVE-2019-12887","description":"KeyIdentity LinOTP before 2.10.5.3 has Incorrect Access Control (issue 1 of 2).","status":"published","published":"2019-06-27T14:15:10.457Z","modified":"2026-10-24T10:30:46.278578859Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:10.718934Z"},{"id":"GHSA-rqg8-xjp2-pg9w","title":"LinOTP replay vulnerability with auto resynchronization enabled for TOTP token","description":"LinOTP is prone to a replay attack with activated automatic resynchronization. This vulnerability may allow an attacker to successfully log in with OTP values recorded at a previous point in time.\n\nThis attack is only possible if automatic resynchronization is enabled for the TOTP token type. The automatic resynchronization  is deactivated by default. All other tokens are unaffected.","status":"published","published":"2022-05-24T16:48:44Z","modified":"2024-09-30T17:01:32.942888Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":9.2,"vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-294"],"updated_at":"2026-11-02T15:46:56.281047Z"},{"id":"PYSEC-2019-103","description":"KeyIdentity LinOTP before 2.10.5.3 has Incorrect Access Control (issue 1 of 2).","status":"published","published":"2019-06-27T14:15:00Z","modified":"2026-06-10T17:01:58.405511898Z","updated_at":"2026-11-02T15:52:52.192131Z"}]}}
