{"id":"CVE-2026-94112","published":"2026-09-20T12:17:06.953","lastModified":"2026-09-21T21:17:21.413","description":"mayswind ezBookkeeping before 2.0.0 fails to invalidate TOTP passcodes after use, allowing attackers to replay captured codes within the acceptance window. Attackers with stolen credentials can authenticate and reuse a captured passcode against multiple authorization attempts for approximately 90 seconds without detection.","cvssScore":6.8,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","cwes":["CWE-294"],"vendors":[],"products":[],"references":[{"url":"https://github.com/mayswind/ezbookkeeping/commit/3dd6286d7a3ab0f980a6d36339b9c9c4df9467e4","tags":[]},{"url":"https://github.com/mayswind/ezbookkeeping/releases/tag/v2.0.0","tags":[]},{"url":"https://github.com/mayswind/ezbookkeeping/security/advisories/GHSA-p6qr-48g6-97q3","tags":[]},{"url":"https://www.vulncheck.com/advisories/mayswind-ezbookkeeping-before-2.0.0-totp-replay-attack","tags":[]}],"exploitRefs":[{"url":"https://github.com/mayswind/ezbookkeeping/commit/3dd6286d7a3ab0f980a6d36339b9c9c4df9467e4","tags":[]},{"url":"https://github.com/mayswind/ezbookkeeping/releases/tag/v2.0.0","tags":[]},{"url":"https://github.com/mayswind/ezbookkeeping/security/advisories/GHSA-p6qr-48g6-97q3","tags":[]}],"hasPoc":true,"ai":null}