---
id: CVE-2026-94456
title: >-
  Postiz generates security-sensitive credentials using `Math.random()` instead
  of a cryptographically secure source
summary: >-
  Postiz generates security-sensitive credentials using `Math.random()` instead
  of a cryptographically secure source. The same helper is used for OAuth access
  tokens, authorization codes, client secrets, organization API keys, and PKCE
  ver…
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-330
  - CWE-338
  - CWE-341
vendor: GitroomHQ
product: postiz-app
affected:
  - postiz-app < 2.4.0
published: '2026-09-22'
updated: '2026-09-22'
sourceUpdated: '2026-09-22T19:37:36.747'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-94456'
references:
  - url: 'https://gadvisory.org/advisories/PSA-2026-TD98KY'
    label: 4cdc9741-f887-419a-a2fd-acbbd2729276
  - url: 'https://github.com/gitroomhq/postiz-app'
    label: 4cdc9741-f887-419a-a2fd-acbbd2729276
  - url: >-
      https://github.com/gitroomhq/postiz-app/commit/9259cf2429e8cc0c88414e88d5e6c783d7ffba63
    label: 4cdc9741-f887-419a-a2fd-acbbd2729276
  - url: 'https://github.com/gitroomhq/postiz-app/releases/tag/v2.24.0'
    label: 4cdc9741-f887-419a-a2fd-acbbd2729276
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-09-22T18:10:57.774548Z'
ingestedAt: '2026-09-22T17:07:07.384Z'
epss: 0.00522
epssPercentile: 0.41883
---

## Overview

Postiz generates security-sensitive credentials using `Math.random()` instead of a cryptographically secure source. The same helper is used for OAuth access tokens, authorization codes, client secrets, organization API keys, and PKCE verifiers, meaning these credentials depend entirely on V8’s deterministic xorshift128+ PRNG state.

An unauthenticated OAuth dynamic client registration endpoint exposes freshly generated client credentials, giving attackers enough consecutive PRNG output to reconstruct that internal state. Once recovered, they can deterministically derive past and future values produced by the same generator, potentially compromising credentials belonging to other users and organizations.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
