{"id":"CVE-2026-32246","summary":"Tinyauth vulnerable to TOTP/2FA bypass via OIDC authorize endpoint","details":"Tinyauth is an authentication and authorization server. Prior to 5.0.3, the OIDC authorization endpoint allows users with a TOTP-pending session (password verified, TOTP not yet completed) to obtain authorization codes. An attacker who knows a user's password but not their TOTP secret can obtain valid OIDC tokens, completely bypassing the second factor. This vulnerability is fixed in 5.0.3.","aliases":["GHSA-3q28-qjrv-qr39","GO-2026-4688"],"modified":"2026-04-02T13:24:28.487783Z","published":"2026-03-12T18:59:20.875Z","related":["SUSE-SU-2026:1042-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32246.json","cwe_ids":["CWE-287"],"cna_assigner":"GitHub_M"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32246.json"},{"type":"ADVISORY","url":"https://github.com/steveiliop56/tinyauth/security/advisories/GHSA-3q28-qjrv-qr39"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-32246"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/steveiliop56/tinyauth","events":[{"introduced":"0"},{"fixed":"9eb2d33064b780fc24ac343101b50a69414fa7cb"}]}],"versions":["v0.1.0","v0.1.0-beta.1","v0.2.0","v0.2.0-beta.1","v0.3.0","v0.3.0-beta.1","v0.3.0-beta.2","v0.3.0-beta.3","v1.0.0","v1.0.0-alpha.1","v1.0.0-beta.1","v1.0.0-beta.2","v1.0.0-beta.3","v2.0.0","v2.0.0-alpha.1","v2.0.0-beta.1","v2.0.1","v2.0.2","v2.0.2-beta.1","v2.0.2-beta.2","v2.1.0","v2.1.0-alpha.1","v2.1.0-alpha.2","v2.1.1","v2.1.1-beta.1","v3.0.0","v3.0.0-alpha.1","v3.0.0-alpha.2","v3.0.0-alpha.3","v3.0.0-alpha.4","v3.0.0-beta.1","v3.0.0-beta.2","v3.0.1","v3.0.1-beta.1","v3.1.0","v3.1.0-alpha.1","v3.1.0-beta.1","v3.1.0-beta.2","v3.1.0-exp.1","v3.1.0-exp.2","v3.1.0-exp.3","v3.2.0","v3.2.0-alpha.1","v3.2.0-beta.1","v3.2.0-beta.2","v3.2.0-beta.3","v3.2.0-beta.4","v3.2.0-beta.5","v3.2.0-beta.6","v3.2.1","v3.2.1-beta.1","v3.3.0","v3.3.0-alpha.1","v3.3.0-alpha.2","v3.3.0-alpha.3","v3.3.1","v3.3.1-beta.1","v3.4.0","v3.4.0-alpha.1","v3.4.0-beta.1","v3.4.0-beta.2","v3.4.1","v3.4.1-beta.1","v3.5.0","v3.5.0-alpha.1","v3.5.0-alpha.2","v3.6.0","v3.6.0-beta.1","v3.6.0-beta.2","v3.6.1","v3.6.1-beta.1","v3.6.1-beta.2","v3.6.1-beta.3","v3.6.2","v3.6.2-beta.1","v3.6.2-beta.2","v3.6.2-beta.3","v3.6.2-beta.4","v4.0.0","v4.0.0-alpha.1","v4.0.0-alpha.2","v4.0.0-beta.1","v4.0.0-beta.2","v4.0.0-beta.3","v4.0.0-rc.1","v4.0.1","v4.0.1-beta.1","v4.0.1-beta.2","v4.1.0","v4.1.0-beta.1","v4.1.0-rc.1","v4.1.0-rc.2","v5.0.0","v5.0.0-alpha.1","v5.0.0-alpha.2","v5.0.0-alpha.3","v5.0.0-alpha.4","v5.0.0-alpha.5","v5.0.0-beta.1","v5.0.0-beta.2","v5.0.0-beta.3","v5.0.0-beta.4","v5.0.0-rc.1","v5.0.0-rc.2","v5.0.1","v5.0.1-beta.1","v5.0.1-rc.1","v5.0.2","v5.0.2-beta.1","v5.0.2-beta.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-32246.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N"}]}