On the surface, CVE-2026-97064 is almost embarrassingly simple — and that is exactly what makes it dangerous. NVD has published a CVSS 9.1 CRITICAL vulnerability affecting X-SpringBoot through version 6.0, a Spring Boot-based rapid development scaffold widely used to bootstrap admin panels, SaaS backends, and internal business applications. The flaw: the product's database seed ships with a hardcoded static master login verification code — 172839 — enabled by default. Any unauthenticated remote attacker who knows (or guesses) a valid email address or mobile number can submit that public master code to the emailOrMobileLogin endpoint and authenticate as that user — including administrators.
No password. No OTP delivery. No session prerequisite. Just a well-known six-digit string and a target identifier. This is a textbook case of CWE-798 (Use of Hard-coded Credentials) fused with CWE-287 (Improper Authentication), and it is network-exploitable with zero complexity. If your organization — or any vendor product you operate — was built on an X-SpringBoot base, you need to treat this as an active exposure today, not a backlog item.
Reference: NVD — CVE-2026-97064
Technical Analysis
Affected Products and Versions
| Item | Detail |
|---|---|
| CVE | CVE-2026-97064 |
| CVSS v3.1 | 9.1 (CRITICAL) — Vector: NETWORK, low complexity, no privileges, no user interaction |
| Affected product | X-SpringBoot through version 6.0 (and downstream applications built on it) |
| Affected component | emailOrMobileLogin authentication endpoint |
| Root cause | Hardcoded static master verification code 172839 enabled by default in the database seed |
| Attack prerequisite | Knowledge of a target's registered email address or mobile number |
How the Vulnerability Works
X-SpringBoot implements an email/SMS one-time-code login flow. During initial database seeding, the framework inserts a static master code (172839) into its verification configuration — intended, presumably, as a developer convenience or testing backdoor. The critical failure is that this master code is enabled by default and persists in production deployments.
The attack chain from a defender's perspective:
- Reconnaissance: The attacker identifies an application built on X-SpringBoot (favicon hashes, login page structure, endpoint naming conventions such as
/emailOrMobileLogin, or public documentation of the target stack). - Identifier harvesting: The attacker obtains a valid registered email or mobile number — trivially available for executives and admins via LinkedIn, data broker dumps, or prior breach corpora.
- Authentication bypass: The attacker submits a login request to the
emailOrMobileLoginendpoint with the victim's identifier and the static code172839. - Session issuance: The server validates the master code as legitimate and issues a fully authenticated session token for the victim's account — with that account's full privileges.
- Post-compromise: If the victim is an administrator (a common target, since admin emails are often predictable:
admin@,hr@, named executives), the attacker gains administrative control over the application, its data, and potentially integrated systems.
There is no brute force required, no rate of failure, and — critically — a successful login looks like a legitimate OTP login in application logs unless you know to look for the master code or anomalous request patterns.
Exploitation Status
At the time of publication, CVE-2026-97064 has been published by NVD with full technical detail, meaning the master code and endpoint are now public knowledge. Vulnerabilities of this class — hardcoded credentials in internet-facing authentication flows — are historically weaponized within hours to days of disclosure by both opportunistic scanners and targeted intrusion sets. Defenders should operate under the assumption that internet-facing X-SpringBoot instances are being scanned for right now. Check CISA's Known Exploited Vulnerabilities catalog for updates; if your instance was exposed prior to remediation, assume compromise and proceed to the hunting section below.
Detection & Response
Detection for this vulnerability centers on the authentication layer: requests to the email/mobile login endpoint, successful logins that never triggered an OTP send event, and session creation from anomalous sources. The rules and queries below are tuned to minimize false positives while catching both exploitation attempts and successful bypasses.
Sigma Rules
---
title: X-SpringBoot Master Code Authentication Bypass Attempt (CVE-2026-97064)
id: 3f9a2c71-8b4e-4d2a-9c16-7e5f0a1b2c3d
status: experimental
description: Detects HTTP requests to the X-SpringBoot emailOrMobileLogin endpoint containing the hardcoded master verification code 172839, indicating attempted or successful exploitation of CVE-2026-97064.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-97064
author: Security Arsenal
date: 2026/04/06
tags:
- attack.initial_access
- attack.t1078
- attack.t1190
logsource:
category: webserver
detection:
selection_uri:
cs-uri|contains: 'emailOrMobileLogin'
selection_code:
cs-body|contains:
- '172839'
- 'code=172839'
- 'verifyCode=172839'
- 'verificationCode=172839'
condition: selection_uri and selection_code
falsepositives:
- Developer testing against known-vulnerable staging instances prior to remediation
level: critical
---
title: X-SpringBoot Login Endpoint Probing or Enumerating Requests
id: 8c1d4e62-5a7b-49f3-b208-3d6e9f0c4a5b
status: experimental
description: Detects repeated requests to the X-SpringBoot emailOrMobileLogin endpoint from a single source, consistent with scanning or account enumeration activity targeting CVE-2026-97064.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-97064
author: Security Arsenal
date: 2026/04/06
tags:
- attack.reconnaissance
- attack.t1595
- attack.initial_access
logsource:
category: webserver
detection:
selection:
cs-uri|contains: 'emailOrMobileLogin'
cs-method:
- 'POST'
- 'PUT'
condition: selection
falsepositives:
- Legitimate user logins via email or mobile OTP flows
- Load balancer and uptime health checks (filter known monitoring IPs)
level: low
Analyst note on the second rule: it is intentionally low-severity and designed for aggregation, not standalone alerting. Pipe it into a threshold-based correlation (e.g., >10 distinct target identifiers from one source IP in 5 minutes) in your SIEM rather than alerting on every hit — otherwise it will fire on normal login traffic.
KQL (Microsoft Sentinel / Defender)
This query hunts for requests to the vulnerable endpoint carrying the master code, across W3C IIS logs, Azure Application Gateway logs, and generic syslog/CEF-ingested reverse proxy or WAF telemetry. It also flags successful (2xx) responses, which indicate a likely successful account takeover requiring immediate IR escalation.
let MasterCode = "172839";
let EndpointPattern = "emailOrMobileLogin";
let IISEvents =
W3CIISLog
| where csUriStem contains EndpointPattern
| extend BodyIndicator = iff(csUriQuery has MasterCode, "QueryString", "Unknown")
| project TimeGenerated, sIP, cIP, csMethod, csUriStem, csUriQuery, scStatus, csUserAgent, Source="IIS";
let AppGwEvents =
AzureDiagnostics
| where Category == "ApplicationGatewayAccessLog"
| where requestUri_s contains EndpointPattern
| project TimeGenerated, clientIP_s, httpMethod_s, requestUri_s, httpStatus_d, userAgent_s, Source="AppGateway";
let SyslogEvents =
Syslog
| where SyslogMessage has EndpointPattern and SyslogMessage has MasterCode
| project TimeGenerated, HostIP, ProcessName, SyslogMessage, Source="Syslog";
IISEvents
| union AppGwEvents, SyslogEvents
| extend SuccessfulLogin = iff(tostring(scStatus) startswith "2" or tostring(httpStatus_d) startswith "2", "POSSIBLE ACCOUNT TAKEOVER", "Attempt")
| order by TimeGenerated desc
A complementary hunt for behavioral indicators of successful bypass — logins with no corresponding OTP issuance in the preceding window — is high-value if your application logs are ingested:
// Successful logins via emailOrMobileLogin with no OTP-send event in prior 10 minutes
let window = 10m;
let LoginSuccess =
Syslog
| where SyslogMessage has "emailOrMobileLogin" and SyslogMessage has "success"
| extend AccountId = extract(@"(?:email|mobile|user)[:=]([\w@.+-]+)", 1, SyslogMessage)
| project LoginTime=TimeGenerated, AccountId, HostIP;
let OtpSent =
Syslog
| where SyslogMessage has_any ("sendCode", "smsSend", "otpSend", "verifyCode send")
| extend AccountId = extract(@"(?:email|mobile|user)[:=]([\w@.+-]+)", 1, SyslogMessage)
| project OtpTime=TimeGenerated, AccountId;
LoginSuccess
| join kind=leftouter OtpSent on AccountId
| where isempty(OtpTime) or OtpTime < LoginTime - window or OtpTime > LoginTime
| project LoginTime, AccountId, HostIP
| order by LoginTime desc
Velociraptor VQL
For endpoint-level hunting on application servers, this artifact locates X-SpringBoot deployment artifacts and configuration files where the master code or its seed configuration may persist — critical for scoping which hosts actually run the vulnerable framework and verifying remediation.
-- Hunt for X-SpringBoot deployments and master code configuration artifacts (CVE-2026-97064)
-- Scopes: JAR artifacts, application config files, and seed SQL containing the static master code
SELECT FullPath, Size, Mtime,
read_file(filename=FullPath, length=512000) AS FileContent
FROM glob(globs=[
'/**/application*.yml',
'/**/application*.yaml',
'/**/application*.properties',
'/**/*.sql'
])
WHERE NOT IsDir
AND (
FileContent =~ '172839'
OR FileContent =~ 'master.?code'
OR FileContent =~ 'emailOrMobileLogin'
OR FullPath =~ 'x-?springboot'
)
Pair it with a network view to identify hosts that were reachable on the vulnerable service during the exposure window:
-- Identify listening Java/Spring services and active external connections
SELECT Pid, Name, LocalAddress, LocalPort, RemoteAddress, RemotePort, Status
FROM netstat()
WHERE Status =~ 'LISTEN|ESTABLISHED'
AND Name =~ 'java'
ORDER BY LocalPort
Verification and Hardening Script
Run the following on application hosts and against source repositories to (1) confirm whether X-SpringBoot is deployed, (2) detect the master code in configuration, seed data, or a live database, and (3) verify the endpoint is not reachable with the master code.
#!/bin/bash
# CVE-2026-97064 verification script — X-SpringBoot master code check
echo "=== [1/4] Locating X-SpringBoot deployments ==="
find /opt /srv /var/www /home -type f \( -name "*.jar" -o -name "*.war" \) 2>/dev/null | while read -r jar; do
if unzip -l "$jar" 2>/dev/null | grep -qi 'xspringboot\|x-springboot'; then
echo "[FOUND] X-SpringBoot artifact: $jar"
fi
done
echo "=== [2/4] Scanning configs and seed files for master code 172839 ==="
grep -rIl --include='*.yml' --include='*.yaml' --include='*.properties' \
--include='*.sql' --include='*.java' --include='*.xml' \
-e '172839' -e 'masterCode' -e 'master_code' \
/opt /srv /var/www /home 2>/dev/null
echo "=== [3/4] Checking live databases for seeded master code ==="
# Adjust connection string/credentials per environment
# mysql -u appuser -p appdb -e "SELECT * FROM sys_config WHERE config_key LIKE '%master%' OR config_value='172839';"
# psql -U appuser -d appdb -c "SELECT * FROM sys_config WHERE config_value='172839';"
echo "=== [4/4] Testing emailOrMobileLogin endpoint with master code (expect 4xx/denied) ==="
TARGET="${1:-https://your-app.example.com}"
curl -sk -o /dev/null -w "HTTP %{http_code}\n" -X POST \
"$TARGET/emailOrMobileLogin" \
-H 'Content-Type: application/json' \
-d '{"account":"test@example.com","code":"172839"}'
echo "=== Review any HTTP 2xx response as CONFIRMED EXPLOITABLE ==="
Remediation
Given the triviality of exploitation and the public availability of the master code, remediation should be treated as an emergency change.
1. Immediate (within 24 hours):
- Disable the master verification code. Remove the seeded master code entry from the database and set any master-code switch in
application.yml/ configuration to disabled. Restart the application — seeded config is typically cached at startup. - If the switch cannot be disabled immediately, place a WAF/reverse-proxy rule in front of the application that blocks or challenges all requests to
/emailOrMobileLogincontaining the string172839in the body or parameters. This is a precise, low-noise virtual patch. - Inventory exposure. Identify every internet-facing and partner-facing application built on X-SpringBoot — including vendor-supplied products. Do not forget staging environments; attackers frequently pivot from forgotten, unpatched pre-production instances.
2. Short term (within 72 hours):
- Upgrade to the fixed X-SpringBoot release once published by the maintainers; monitor the NVD entry and the project's repository for the patched version. Verify after upgrade that the master code is absent from both configuration and the database seed.
- Rotate all sessions and tokens. Every successful master-code login produced a legitimate session. Invalidate all active sessions/tokens and force re-authentication across the user base after the fix is deployed.
- Rotate credentials and API keys reachable from compromised accounts, especially for any administrator accounts that may have been accessed.
3. Assume breach and hunt:
- Query authentication logs back to the application's first internet exposure for requests to
emailOrMobileLogin— correlate successful logins against OTP-send events. Any login without a preceding OTP issuance is a suspected compromise. - Review post-login activity for suspicious accounts: permission changes, data exports, new user creation, API key generation, and configuration modifications.
- Escalate confirmed successful bypasses to full incident response — this is an authentication-bypass intrusion, not merely a vulnerability finding.
4. Strategic (root-cause class):
- This is the second-order lesson of CVE-2026-97064: framework scaffolds ship secrets. Any rapid-development framework, admin template, or starter kit introduced into your SDLC must undergo a secrets and default-credential review before production deployment. Add seed-data inspection and default-credential scanning to your CI pipeline and to pre-production penetration test scope.
- Enforce MFA at the identity layer (SSO/IdP) in front of business applications where feasible — an independent authentication factor renders a stolen or hardcoded application-level code insufficient on its own.
Category and Priority
This vulnerability warrants emergency prioritization in your vulnerability management program: it is remotely exploitable without authentication, requires no special conditions, affects a default configuration, and has public exploitation detail. Treat any confirmed exploitation as a security incident with full IR scope.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.