Skip to main content

Simple Admin Core EUVDEUVD-2026-102981

| CVE-2026-111690 CRITICAL
Use of Hard-coded Cryptographic Key (CWE-321)
2026-10-16 VulnCheck GHSA-m87p-c3h7-7hr8
9.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Read public AccessSecret from repo
  2. Exploit
    Forge JWT with roleId 001
  3. Execution
    Send token to exposed core API
  4. Impact
    Gain full super-admin control

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

Exploitable against any Simple Admin Core deployment through v1.8.7 that runs with the shipped default Auth.AccessSecret (jS6VKDtsJf3z1n2VKDtsJf3z1n2) present in api/etc/core.yaml and in the all_in_one/postgresql and core-only docker-compose configs. No authentication, no user interaction, and no non-default feature are required - the signing secret is published in the vendor repository, so any attacker with network reach to the core API (default port 9100) can forge a valid super-admin JWT. The single limiting factor is configuration: operators who manually replaced AccessSecret with their own private value before deployment are NOT vulnerable, as the forged signature will no longer validate.

Impact

All available signals align toward genuine high priority rather than inflated scoring. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N with VC:H/VI:H/VA:H, score 9.3) indicates fully remote, unauthenticated, low-complexity exploitation with total impact - and this is corroborated by the root cause: CWE-321 (use of a hard-coded cryptographic key). The GitHub source diff confirms the exact secret (AccessSecret: jS6VKDtsJf3z1n2VKDtsJf3z1n2) was committed in api/etc/core.yaml and three docker-compose shipping configs, so the 'secret' is literally public, making token forgery trivial and deterministic - consistent with the PR:N / AC:L rating. The vulnerability was reported by VulnCheck and a detailed public writeup (hackmd) describes the forging technique, so exploitation knowledge is already in the open; however there is no CISA KEV listing and no EPSS score in the provided data, so there is no confirmation of active in-the-wild exploitation at this time. The conflict to note explicitly: the maximal CVSS and public, trivial exploit path argue for urgent patching, but the real-world blast radius is tempered by the product's niche footprint and by the fact that only deployments still using the shipped default secret are affected - operators who replaced the secret are not exploitable.

Exploit ScenarioDerived

An attacker reads the hard-coded Auth.AccessSecret value directly from the public suyuan32/simple-admin-core repository, then uses it to sign a JWT containing the super-administrator roleId claim '001'. They send this forged token to the exposed core API and are accepted as a full super admin, letting them manipulate users, roles, menus, API authorities, configuration and tokens - all without any credentials. A public technical writeup already documents this exact forging method, making reproduction straightforward.

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

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Authentication bypass in Simple Admin Core through v1.8.7 lets unauthenticated remote attackers forge a valid super-administrator JWT by signing it with the hard-coded Auth.AccessSecret (jS6VKDtsJf3z1n2VKDtsJf3z1n2) shipped in api/etc/core.yaml, then set roleId 001 to obtain full administrative control over users, roles, menus, API authorities, configuration and token issuance. Exploitation requires only network reach to the core API (default port 9100) against a deployment that still runs the vendor's default secret - no credentials and no user interaction - and the CVSS 4.0 base score is 9.3, corroborated by the independently assessed CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (unauthenticated, network-exploitable, full confidentiality/integrity/availability impact). No public exploit identified at time of analysis, although a public technical writeup detailing the bypass exists, and deployments that rotated AccessSecret to a private value before deployment are not exploitable via forged signatures.

RemediationAI

Vendor states a patch is available; the only referenced fix is upstream PR #382, which removes the hard-coded jS6VKDtsJf3z1n2VKDtsJf3z1n2 value from api/etc/core.yaml and from both docker-compose configuration copies and replaces it with a CHANGE_ME placeholder - status: Upstream fix available (PR/commit); released patched version not independently confirmed. Critically, merging or upgrading is not sufficient by itself: operators must set Auth.AccessSecret to a long randomly generated value unique to the deployment and restart the core API, because rotation immediately invalidates every previously issued JWT, including any forged super-admin token, at the cost of logging all legitimate users out (any tokens minted before rotation must be treated as compromised). Until the secret can be rotated, block untrusted networks and the public internet from reaching the core API on default port 9100, since the bypass requires nothing more than network reach to that endpoint; that mitigation limits exposure but leaves internal attackers or reachable service-mesh peers able to exploit the flaw. Operators who already replaced the default secret before deployment only need to confirm the value is private and high-entropy. Verification guidance and affected-configuration details are in the VulnCheck advisory at https://www.vulncheck.com/advisories/simple-admin-core-through-1.8.7-hard-coded-jwt-secret-authentication-bypass and the fix diff at https://github.com/suyuan32/simple-admin-core/pull/382.

Affected VersionsENISA

simple-admin-core 0 ≤1.8.7

Affected Packages

euvd simple_admin_core no fix

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

Simple Admin Core is a Go/go-zero-based administrative backend whose API authenticates requests with JWTs signed using the Auth.AccessSecret value loaded from api/etc/core.yaml, with authorization enforced through a Casbin RBAC model keyed on the roleId claim. Because the vendor repository shipped a fixed, publicly readable secret (jS6VKDtsJf3z1n2VKDtsJf3z1n2) in api/etc/core.yaml, deploy/docker-compose/all_in_one/postgresql/api/etc/core.yaml and deploy/docker-compose/core-only/api/etc/core.yaml, the token-signing key is effectively public knowledge - the root-cause class is CWE-321 (Use of Hard-coded Cryptographic Key). An attacker who knows the key can mint a validly signed token carrying roleId 001 (super administrator) that the API treats as genuine, defeating authentication entirely and inheriting the Casbin policy set for that role. The affected CPE is cpe:2.3:a:suyuan32:simple-admin-core:*:*:*:*:*:*:*:*, whose wildcard version field matches the upstream project across all releases rather than a single build. The upstream remediation in PR #382 deletes the literal secret and substitutes a CHANGE_ME placeholder, which shifts responsibility to each operator to supply a private, high-entropy key at deployment time instead of relying on an upgrade alone; the shipped configuration also sets generous token expiration values, which extends the useful window of any forged token once issued.

Know when Simple Admin Core 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 (VulnCheck) PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.8 CRITICAL

Signing secret is public in the repo so no auth is needed (PR:N) and forgery is deterministic (AC:L); remote API access (AV:N) yields full admin control, so C/I/A all High.

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 (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Simple Admin Core through 1.8.7 contains an authentication bypass vulnerability that allows unauthenticated attackers to forge super administrator tokens by using the hard-coded Auth.AccessSecret in api/etc/core.yaml. Attackers can sign a JWT with the public secret and roleId claim 001 to gain full administrative control over users, roles, menus, API authorities, configuration and tokens.

Executive ViewAI

Why It Matters

Simple Admin Core (through v1.8.7) contains a critical authentication bypass that enables unauthenticated remote attackers to forge super-administrator tokens and seize full control of user, role, and system configurations. Organizations that have not rotated the default hard-coded secret are at severe risk of complete compromise, including data theft and operational disruption. Leadership must treat this as an urgent priority because exploitation requires only network access to the core API on default port 9100 and no credentials.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 63% exploitable
Prevalence
Low
niche open-source Go admin framework, limited enterprise footprint
Data Quality
3 sources
Confidence: Low

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.4%
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· derived
Out-of-Cycle
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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