GitHub Advisoryadvisory · npm
GHSA-mv7p-34fv-4874 Authentication Bypass via Default JWT Secret in NocoBase docker-compose Deployments
MEDIUM
Official page ↗
- Aliases
- CVE-2025-13877
- Ecosystem
- npm
- Packages
- @nocobase/auth
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
- Weaknesses
- CWE-1320, CWE-321
- Reviewed
- 2025-12-09
Affected packages
• npm @nocobase/auth: >= 1.9.0, < 1.9.23 → fixed in 1.9.23
• npm @nocobase/auth: < 1.9.0-beta.18 → fixed in 1.9.0-beta.18
• npm @nocobase/auth: >= 2.0.0-alpha.1, < 2.0.0-alpha.52 → fixed in 2.0.0-alpha.52
Description
Impact
CVE-2025-13877 is an authentication bypass vulnerability caused by insecure default JWT key usage in NocoBase Docker deployments.
Because the official one-click Docker deployment configuration historically provided a public default JWT key, attackers can forge valid JWT tokens without possessing any legitimate credentials. By constructing a token with a known `userId` (commonly the administrator account), an attacker can directly bypass authentication and authorization checks.
Successful exploitation allows an attacker to:
• Bypass authentication entirely
• Impersonate arbitrary users
• Gain full administrator privileges
• Access sensitive business data
• Create, modify, or delete users
• Access cloud storage credentials and other protected secrets
The vulnerability is remotely exploitable, requires no authentication, and public proof-of-concept exploits are available.
This issue is functionally equivalent in impact to other JWT secret exposure vulnerabilities such as CVE-2024-43441 and CVE-2025-30206.
Deployments that used the default Docker configuration without explicitly overriding the JWT secret are affected.
---
Patches
✅ The vulnerability has been fully patched through a secure JWT key management redesign.
The remediation enforces the following security guarantees:
• JWT secrets are no longer allowed to fall back to public default values.
• Secrets must either:
• Be explicitly provided by the user, or
• Be securely generated using cryptographically strong randomness at first startup.
• Generated secrets are persisted securely with restricted filesystem permissions.
• Invalid or weak secret values immediately trigger a startup failure.
✅ Fixed Versions:
• NocoBase ≥ 1.9.23
• NocoBase ≥ 1.9.0-beta.18
• NocoBase ≥ 2.0.0-alpha.52
---
Workarounds
If upgrading is not immediately possible, the following temporary mitigations must be performed to reduce risk:
1. Explicitly set a strong, randomly generated JWT secret via environment variables `APP_KEY`.
2. Restart all running NocoBase instances so the new secret takes effect.
3. Invalidate all existing JWT sessions, forcing complete user re-authentication.
4. Verify that no default secret values are present in:
• `docker-compose.yml`
• `.env` files
• Kubernetes Secrets
---
References
• CVE Record: CVE-2025-13877
• VulDB Entry: https://vuldb.com/?id.334033
• Public Exploit Proof:
https://gist.github.com/H2u8s/f3ede60d7ecfe598ae452aa5a8fbb90d
• Affected Default Docker Configurations:
• https://github.com/nocobase/nocobase/blob/main/docker/app-mysql/docker-compose.yml#L13
• https://github.com/nocobase/nocobase/blob/main/docker/app-mariadb/docker-compose.yml#L13
• https://github.com/nocobase/nocobase/blob/main/docker/app-postgres/docker-compose.yml#L11
• https://github.com/nocobase/nocobase/blob/main/docker/app-sqlite/docker-compose.yml#L11
• Official Deployment Documentation:
• https://docs.nocobase.com/welcome/getting-started/installation/docker-compose
• https://v2.docs.nocobase.com/get-started/installation/docker
Related
Alias · CVE (1)
- CVE-2025-13877 A vulnerability was detected in nocobase up to 1.9.4/2.0.0-alpha.37. vulnerability
References
- https://github.com/nocobase/nocobase/security/advisories/GHSA-mv7p-34fv-4874 web
- https://nvd.nist.gov/vuln/detail/CVE-2025-13877 advisory
- https://github.com/nocobase/nocobase/commit/de4292ea7847dd26c6306445091769f8b9ee96d5 web
- https://docs.nocobase.com/welcome/getting-started/installation/docker-compose web
- https://gist.github.com/H2u8s/f3ede60d7ecfe598ae452aa5a8fbb90d web
- https://github.com/nocobase/nocobase package
- https://github.com/nocobase/nocobase/blob/main/docker/app-mariadb/docker-compose.yml#L13 web
- https://github.com/nocobase/nocobase/blob/main/docker/app-mysql/docker-compose.yml#L13 web
- https://github.com/nocobase/nocobase/blob/main/docker/app-postgres/docker-compose.yml#L11 web
- https://github.com/nocobase/nocobase/blob/main/docker/app-sqlite/docker-compose.yml#L11 web
- https://v2.docs.nocobase.com/get-started/installation/docker web
- https://vuldb.com/?ctiid.334033 web
- https://vuldb.com/?id.334033 web
- https://vuldb.com/?submit.692205 web