Impact
Postiz’s security‑sensitive identifiers—including OAuth access tokens, client secrets, organization API keys, and PKCE verifiers—are generated using JavaScript’s Math.random() instead of a cryptographically secure source. Because the same deterministic PRNG state governs all token families, an attacker who obtains a sufficient sequence of newly issued credentials can reconstruct the PRNG state and deterministically generate any past or future values. This flaw equates to an improper random number generation weakness (CWE‑330, CWE‑338, CWE‑341) and allows unauthorized parties to compromise authentication credentials across multiple users and organizations.
Affected Systems
GitroomHQ’s Postiz application (postiz-app) in any release that used Math.random() for credential generation. No fixed release has been published at the time of writing. The vulnerability applies to OAuth dynamic client registration, OAuth access token issuance, authorization code issuance, client secret generation, organization API keys, and PKCE verifier generation.
Risk and Exploitability
The CVSS base score of 9.1 indicates a critical severity. EPSS is not available, so the exact likelihood of exploitation is unknown, but the high score and broad impact suggest a potentially high exploitation probability. The vulnerability is not listed in the CISA KEV catalog yet, but its critical nature warrants urgent attention. The likely attack path involves an unauthenticated request to the OAuth dynamic client registration endpoint; by replaying and observing the generated credentials, an attacker can reconstruct the underlying PRNG state and predict any past or future tokens without needing privileged access.
OpenCVE Enrichment