{"id":"CVE-2026-39912","summary":"v2board / Xboard Authentication Token Exposure via loginWithMailLink","details":"V2Board 1.6.1 through 1.7.4 and Xboard through 0.1.9 expose authentication tokens in HTTP response bodies of the loginWithMailLink endpoint when the login_with_mail_link_enable feature is active. Unauthenticated attackers can POST to the loginWithMailLink endpoint with a known email address to receive the full authentication URL in the response, then exchange the token at the token2Login endpoint to obtain a valid bearer token with complete account access including admin privileges.","modified":"2026-07-16T03:30:49.071381882Z","published":"2026-04-09T18:35:35.569Z","database_specific":{"unresolved_ranges":[{"source":"AFFECTED_FIELD","extracted_events":[{"introduced":"bdb10bed32c5f37df2f0872c3cb354e9b7a293bd"},{"last_affected":"0ca47622a50116d0ddd7ffb316b157afb57d25e8"}]}],"cna_assigner":"VulnCheck","cwe_ids":["CWE-201"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39912.json"},"references":[{"type":"WEB","url":"https://github.com/cedar2025/Xboard/blob/1fe6531924cc1ec662a88b9ef725afcf78d660bc/app/Http/Controllers/V1/Passport/AuthController.php#L51"},{"type":"WEB","url":"https://github.com/cedar2025/Xboard/blob/1fe6531924cc1ec662a88b9ef725afcf78d660bc/app/Services/Auth/MailLinkService.php#L49"},{"type":"WEB","url":"https://github.com/v2board/v2board/blob/0ca47622a50116d0ddd7ffb316b157afb57d25e8/app/Http/Controllers/Passport/AuthController.php#L71"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/39xxx/CVE-2026-39912.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39912"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/v2board-xboard-authentication-token-exposure-via-loginwithmaillink"},{"type":"REPORT","url":"https://github.com/cedar2025/Xboard/pull/873"},{"type":"REPORT","url":"https://github.com/v2board/v2board/pull/981"},{"type":"FIX","url":"https://github.com/cedar2025/Xboard/commit/121511523f04882ec0c7447acd9b8ebcb8a47957"},{"type":"PACKAGE","url":"https://github.com/cedar2025/Xboard"},{"type":"PACKAGE","url":"https://github.com/v2board/v2board"},{"type":"EVIDENCE","url":"https://chocapikk.com/posts/2026/xboard-v2board-account-takeover/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/cedar2025/xboard","events":[{"introduced":"0"},{"fixed":"3c224f3ad814afea4fa3b16435a090d884c1d709"},{"fixed":"121511523f04882ec0c7447acd9b8ebcb8a47957"}],"database_specific":{"source":["DESCRIPTION","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"0.1.9"}]}},{"type":"GIT","repo":"https://github.com/v2board/v2board","events":[{"introduced":"1a0b09edd248ab5608df96d1f0da6fc7019cda50"},{"fixed":"0ca47622a50116d0ddd7ffb316b157afb57d25e8"}],"database_specific":{"source":["AFFECTED_FIELD","DESCRIPTION"],"extracted_events":[{"introduced":"1.6.1"},{"last_affected":"1.7.4"},{"fixed":"1.7.4"}]}}],"versions":["v0.1.8","v0.1.7","v0.1.6","v0.1.5","v0.1.4","v0.1.3","1.7.3","1.7.2","1.7.1","1.7.0","1.6.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-39912.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"}]}