Summary
CVE-2026-75431 is a critical use of a predictable/hard-coded cryptographic key vulnerability (CWE-321) in PowerJob Server version 5.1.2 and likely earlier. The JWT signing key used for HS256-based authentication on the web console and OpenAPI can be derived offline from publicly known values, letting a remote, unauthenticated attacker forge valid administrative tokens. This is rated CVSS 9.1 (Critical).
Technical details
- Root cause: the HS256 JWT signing key is generated from a hard-coded constant combined with the MD5 hash of the default JDBC database URL, rather than a randomly generated and securely stored secret.
- Trigger condition: default/unchanged JDBC URL configuration (as shipped in PowerJob’s reference
docker-compose.ymlandapplication-daily.properties) allows the signing key to be recomputed offline without any credentials. - Attack vector: network, no authentication or user interaction required; an attacker computes the key, forges a JWT (web console) or App Token (OpenAPI), and presents it to protected endpoints such as
/namespace/list. - Impact: complete authentication bypass leading to admin-level access to the PowerJob console/API, with downstream potential for arbitrary code execution via job scheduling functionality.
Affected software
- PowerJob Server version 5.1.2
- Earlier PowerJob Server versions are also believed to be affected (deriving the same key logic)
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: No official patched PowerJob release addressing this issue has been published as of this writing; monitor the PowerJob GitHub repository for a fixed release and upgrade as soon as one is available.
- Workarounds:
- Do not use the default/example JDBC URL from PowerJob’s reference configuration; use a unique, non-public database connection string.
- Replace the JWT secret derivation logic with a randomly generated key stored securely (e.g., in an environment variable or secrets manager), separate from any database configuration value.
- Restrict network exposure of the PowerJob web console (default port 7700) and OpenAPI endpoints to trusted internal networks only; do not expose them directly to the internet.
- Rotate any credentials/tokens that may have been derived from or exposed alongside the default configuration.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Page title:
PowerJob

