Description
ZKEACMS through 4.4 contains an authentication bypass vulnerability that allows unauthenticated attackers to forge REST API JWT bearer tokens using a hard-coded HMAC-SHA256 signing key in JwtBearerDefaults.cs. Attackers can sign a token with the Name claim set to 'admin' to call ApiAuthorize endpoints, modifying articles and products and reading form submissions.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| SeriaWei | ZKEACMS | ≤ 4.4 | — |
References
- https://hackmd.io/@hieuPenguinnn/zkeacms-hardcoded-jwt-signing-key-admin-auth-bypass third-party-advisory
- https://github.com/SeriaWei/ZKEACMS/blob/v4.4/src/ZKEACMS/Api/JwtBearerDefaults.cs#L14-L19 technical-description
- https://github.com/SeriaWei/ZKEACMS/blob/v4.4/src/ZKEACMS/BuilderAuthentication.cs#L41-L52 technical-description
- https://github.com/SeriaWei/ZKEACMS/issues/531 issue-tracking
- VulnCheck Advisory: ZKEACMS through 4.4 Authentication Bypass via Hard-Coded JWT Signing Key third-party-advisory