Skip to main content

ng-antd-admin CVE-2026-61737

| EUVDEUVD-2026-114000 CRITICAL
Use of Hard-coded Cryptographic Key (CWE-321)
2026-10-30 GitHub_M
9.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain public default JWT secret
  2. Delivery
    Forge token claiming administrator identity
  3. Exploit
    Submit to protected NestJS API endpoint
  4. Execution
    Bypass authentication as admin
  5. Impact
    Exfiltrate 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

ng-antd-admin < 22.0

Affected Packages

euvd ng_antd_admin fix: 22.0

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

Vendor (GitHub_M) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 30, 2026 - 16:03 EUVD
CVE Published
Oct 30, 2026 - 14:34 cve.org
CRITICAL 9.8

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.5%
Top 57% exploitable
Prevalence
Low
niche open-source Angular/NestJS admin template, limited production footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy