Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain hard-coded JWT secret from advisory
-
DeliveryForge JWT with target user_id/company_id
-
ExploitSign token with leaked secret
-
ExecutionSubmit forged token to StarTraining
-
ImpactAuthenticate as impersonated/privileged user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication No hard-coded passwords
MITRE ATT&CK
1 technique across 1 tactic: Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a reachable StarTraining instance (version up to and including 3.8.1) whose JWT signing secret is the hard-coded value present in the shipped application.yml - i.e., a deployment that has not overridden the default/embedded secret. Given the secret is static across installs and disclosed publicly, an unauthenticated remote attacker can forge valid tokens with no user interaction and no prior credentials (PR:N/UI:N). The primary limiting factors are the product's rarity and whether an operator has rotated the JWT secret away from the shipped default; installations that changed the secret are not exploitable via the disclosed value. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:L/VI:L/VA:L, E:P) yields a moderate 6.9, but the vulnerability class - a hard-coded JWT signing secret exposed in application.yml, allowing an unauthenticated remote attacker to forge tokens with arbitrary user_id/company_id - is fundamentally an authentication-bypass/impersonation primitive whose impact is very likely understated at 'Low' across confidentiality and integrity; forging a token for a privileged or arbitrary account typically yields full account takeover (C:H/I:H). The E:P (Proof-of-Concept) temporal metric is corroborated by a publicly available exploit advisory on GitHub (ArrestX/startraining-advisories), so 'publicly available exploit code exists' - but this is NOT the same as active exploitation: there is no CISA KEV listing and no EPSS score provided, and given the obscurity of the product, any exploitation is far more likely to be targeted/opportunistic than widespread. Net: the technical severity of a forgeable-JWT-secret is real and higher than the headline 6.9 suggests, but real-world priority is bounded by the product's tiny deployment footprint. Note the impact discrepancy: VulDB scored all impacts Low, yet token forgery for arbitrary identities implies High impact - verify actual privilege reachable via forged tokens with the vendor or advisory. |
| Exploit ScenarioDerived | An unauthenticated attacker retrieves the hard-coded JWT secret embedded in StarTraining's application.yml (published in the public advisory), then crafts a signed JWT setting user_id/company_id to a target or administrative identity and submits it to the application, which accepts it as valid via UserLoginService.createToken validation. This grants impersonation/authentication bypass without any credentials. A public proof-of-concept exploit exists in the referenced GitHub advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
StarTraining 3.8.1 and earlier embeds a hard-coded JWT signing secret in application.yml, allowing an unauthenticated remote attacker who knows that static value to forge valid authentication tokens carrying attacker-chosen user_id and company_id claims, effectively impersonating arbitrary users without any credentials. Publicly available exploit code exists (a GitHub advisory demonstrates forging tokens from the shipped secret), but the flaw is not in CISA KEV and no confirmed active exploitation has been reported. The vendor was contacted about the disclosure and did not respond, so no vendor-released patch is identified; installations that have rotated the JWT signing secret away from the shipped default are not exploitable through the disclosed value.
RemediationAI
No vendor-released patch is identified for CVE-2026-97877 because the vendor did not respond to the reporter, so operators must compensate in configuration. The decisive fix is to override the shipped hard-coded JWT signing secret: replace the default value in application.yml with a long, randomly generated, deployment-unique key, restart the StarTraining service, and invalidate all existing tokens (forcing re-login) so any previously forged tokens stop validating - the trade-off is that every active session is terminated. Until the secret is rotated, reduce exposure by putting the StarTraining login and API endpoints behind a reverse proxy or firewall allow-list (or restrict them to VPN-only/trusted networks) so that unauthenticated remote attackers cannot reach the forgeable token path, at the cost of blocking legitimate remote users. Additionally, monitor authentication logs for tokens whose user_id/company_id claims do not correspond to any real login event, and if the application cannot be reconfigured to use a custom secret, treat the instance as unauthenticated-exposed and isolate it from sensitive data. Details and proof-of-concept are published at https://github.com/ArrestX/startraining-advisories/blob/main/advisories/ST-VULN-001-jwt-hardcoded-secret-forge.md, with additional context at https://vuldb.com/vuln/409898.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
StarTraining authenticates users with JSON Web Tokens signed by an HMAC secret that ships inside the application.yml configuration file and is consumed by UserLoginService.createToken, so the same static key is present in every default deployment and was published alongside the advisory; anyone can therefore compute a valid signature and mint tokens for arbitrary identities. The weakness maps to CWE-259 (Use of Hard-coded Password): the signing key functions as a permanent credential baked into the product rather than a per-installation secret, and because the token payload carries user_id/company_id claims, manipulating those claims is the forgery path rather than cracking a password. The CPE cpe:2.3:a:zhistaredu:startraining:*:*:*:*:*:*:*:* covers all StarTraining versions up to and including 3.8.1; exploitation requires a network-reachable instance that still uses the shipped default secret, and the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/E:P) confirms the attack is unauthenticated with no user interaction, while the assessor notes that the Low confidentiality and integrity ratings likely understate the account-takeover impact of a forged privileged token.
Know when Startraining gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Hard-coded JWT secret lets an unauthenticated remote attacker forge tokens for arbitrary users/companies, yielding full impersonation (C:H/I:H); no direct availability impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was determined in zhistaredu StarTraining up to 3.8.1. This issue affects the function UserLoginService.createToken of the file application.yml of the component JWT Token Handler. This manipulation of the argument user_id/company_id causes use of hard-coded password. The attack is possible to be carried out remotely. The exploit has been publicly disclosed and may be utilized. The vendor was contacted early about this disclosure but did not respond in any way.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Startraining
View allUnauthenticated access to the Swagger/OpenAPI api-docs endpoint in zhistaredu StarTraining through 3.8.1 allows remote a
Unauthenticated remote access to the Alibaba Druid monitoring console bundled with zhistaredu StarTraining 3.8.1 and ear
Missing authorization in zhistaredu StarTraining up to and including version 3.8.1 lets any authenticated low-privilege
Authorization bypass in zhistaredu StarTraining through 3.8.1 allows an authenticated low-privileged user to escalate pr
Cross-site scripting in zhistaredu StarTraining up to and including 3.8.1 becomes exploitable when the built-in XSS filt
EUVD-2026-87157
GHSA-6m2v-j56x-7jj6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB