{"id":"GHSA-8vxv-2g8p-2249","summary":"Observable Timing Discrepancy in totp-rs","details":"### Impact\nToken comparison was not constant time, and could theorically be used to guess value of an TOTP token, and thus reuse it in the same time window. The attacker would have to know the password beforehand nonetheless.\n\n### Patches\nLibrary now used constant-time comparison.\n\n### Workarounds\nNo.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [totp-rs](https://github.com/constantoine/totp-rs)\n* Email us at [cleo.rebert@gmail.com](mailto:cleo.rebert@gmail.com)\n","aliases":["CVE-2022-29185","RUSTSEC-2022-0018"],"modified":"2023-11-08T04:09:09.176539Z","published":"2022-05-24T21:33:15Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2022-05-24T21:33:15Z","nvd_published_at":"2022-05-20T20:15:00Z","cwe_ids":["CWE-203","CWE-208"],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/constantoine/totp-rs/security/advisories/GHSA-8vxv-2g8p-2249"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-29185"},{"type":"WEB","url":"https://github.com/constantoine/totp-rs/issues/13"},{"type":"WEB","url":"https://github.com/constantoine/totp-rs/commit/1f1e1a6fe722deb1656f483b1367ea4be978db5b"},{"type":"PACKAGE","url":"https://github.com/constantoine/totp-rs"},{"type":"WEB","url":"https://github.com/constantoine/totp-rs/compare/v1.0...v1.1.0"},{"type":"WEB","url":"https://github.com/constantoine/totp-rs/releases/tag/v1.1.0"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2022-0018.html"}],"affected":[{"package":{"name":"totp-rs","ecosystem":"crates.io","purl":"pkg:cargo/totp-rs"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.1.0"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/05/GHSA-8vxv-2g8p-2249/GHSA-8vxv-2g8p-2249.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N"}]}