Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain public default JWT secret
-
DeliveryForge token claiming administrator identity
-
ExploitSubmit to protected NestJS API endpoint
-
ExecutionBypass authentication as admin
-
ImpactExfiltrate data and perform unauthorized operations
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Key management, no hard-coded keys
|
| Exploitation Conditions | Exploitation requires that the deployment still uses the shipped default JWT secret ('EIpWsyfiy@R@X#qn17!StJNdZK1fFF8iV6ffN!goZkqt#JxO') - i.e. the operator never overrode the SECRET value via configuration file or environment variable. In vulnerable versions (<22.0) this default is active silently with no startup warning, so affected installs are those left in out-of-the-box state. The primary limiting factor is this configuration dependency: any deployment that set a strong, custom SECRET is not exploitable through this flaw. A secondary factor is that the fix in 22.0 blacklists the known weak secret - rejecting it in production (NODE_ENV=production) and only warning in non-production - so an upgraded production instance cannot run with the default at all. |
| Impact | Multiple signals converge on high real-world risk for deployments still running the shipped default secret. The input CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, base 9.8) describes a remote, unauthenticated, low-complexity flaw with full confidentiality, integrity and availability impact, and the vuln.today Decision label is act_now. No EPSS score and no KEV status were supplied, so there is no quantitative exploitation-probability or confirmed in-the-wild signal to weigh - this is a data gap, not evidence of low risk. No working exploit reference was provided; however, the fix commit (23e92ff) publicly discloses the exact hardcoded secret string 'EIpWsyfiy@R@X#qn17!StJNdZK1fFF8iV6ffN!goZkqt#JxO', which makes token forgery trivial for any unpatched deployment that never overrode it. The critical caveat is that this is NOT a blanket 9.8: exploitation depends entirely on whether the operator replaced the default secret. A deployment that already set a strong SECRET env value is not exploitable via this path, so the effective risk is bimodal - critical for default-secret installs, negligible otherwise. Given ng-antd-admin is a niche open-source template rather than ubiquitous infrastructure, the act_now label should be read as 'urgent for affected installs' rather than 'internet-wide emergency'. |
| Exploit ScenarioDerived | An attacker reads the publicly disclosed default JWT secret from the project's source or fix commit, then signs a forged JWT claiming an administrator identity and submits it to the NestJS API. Because the backend validates tokens against the unchanged default secret, the forged token is accepted and the attacker gains full administrative access without any credentials. No working exploit tool was published, but forgery is trivial with any standard JWT library given the known secret. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Authentication bypass in ng-antd-admin (an Angular + NestJS administration system template) before version 22.0, caused by a hardcoded default JWT signing secret that is active silently when a deployment has not overridden it. Unauthenticated remote attackers can sign their own tokens with the shipped secret, impersonate any user including administrators, and reach protected API endpoints for account takeover, data leakage and unauthorized operations; the flaw is only reachable on installs left in out-of-the-box configuration, since any deployment with a custom SECRET is not exposed through this issue. The project ships an explicit fix in 22.0 (release tag v22.0, commit 23e92ff) and the priority decision for this CVE is act_now; no public exploit code was identified at time of analysis.
RemediationAI
Upgrade to ng-antd-admin 22.0, which is the vendor-released patch: see release tag https://github.com/huajian123/ng-antd-admin/releases/tag/v22.0 and fix commit https://github.com/huajian123/ng-antd-admin/commit/23e92ff9176074ee534af3ea3700b3652a9726a9, and note that after the upgrade SECRET becomes a required environment variable so the application will not start until a strong value is supplied (and the shipped secret is rejected outright when NODE_ENV=production). For installs that cannot upgrade immediately, the vendor-approved workaround is to replace the JWT secret in the configuration file or environment variables with a strong, randomly generated string; because that value signs existing tokens, rotating it invalidates previously issued sessions and forces users to re-authenticate, and operators should also confirm the secret is not reused as the UI lock-screen salt. Deployments mapping the default secret in code or container images should rebuild rather than patch running containers, and any token issued under the default secret should be treated as potentially forged, with admin credentials reviewed. Advisory: https://github.com/huajian123/ng-antd-admin/security/advisories/GHSA-qphq-m2hv-wj5h.
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
The flaw is CWE-321 (Use of Hard-coded Cryptographic Key): the NestJS backend shipped a fixed JWT signing secret ('EIpWsyfiy@R@X#qn17!StJNdZK1fFF8iV6ffN!goZkqt#JxO') as the default value for its SECRET configuration, so every out-of-the-box installation validated bearer tokens against a value published in the open-source repository. Because the secret is symmetric and used to verify token signatures, anyone who knows it can mint tokens carrying arbitrary identity and role claims that the API accepts as authentic, which collapses both authentication and authorization. The same string also appeared in the Angular UI as a lock-screen obfuscation salt, widening its distribution. The upstream fix adds a Joi-based SECRET validator with a blacklist of the known weak value: in production (NODE_ENV=production) the shipped secret causes a hard configuration error, while non-production environments only log a warning, and SECRET is now a required environment variable whose absence prevents startup. The patch commit also rotates the UI salt to a different value and documents that the salt is not a security mechanism. The vulnerable configuration is a deployment-time state, so the trigger is not a parser or memory-safety condition; it is simply the presence of the default secret in the running configuration.
Know when Ng Antd Admin 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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Publicly known default secret enables remote unauthenticated token forgery (AV:N/AC:L/PR:N/UI:N); forged admin tokens yield full account takeover, so C/I/A all High, scope unchanged.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
ng-antd-admin is an Angular and NestJS administration system template. Prior to 22.0, a hardcoded default JWT secret permits token forgery when a deployment has not replaced the default secret, without a startup warning. An attacker can bypass authentication and authorization, impersonate any user including administrators, and access protected API endpoints, leading to account takeover, data leakage and unauthorized operations. Version 22.0 rejects the shipped secret in production but permits it with a warning in non-production environments.
Technical POC Analysis
CWE-321: Use of Hard-coded Cryptographic Key.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-61737 is a critical authentication bypass in the ng-antd-admin template affecting deployments that have not overridden the default JWT secret. Unauthenticated attackers can impersonate administrators, leading to full system compromise if such installations exist in our environment.
No vendor-released patch identified at time of analysis; however, a fix is available in version 22.0. Interim mitigation: explicitly set a strong, unique SECRET in the application configuration to override the hardcoded default.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-114000
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB