CVE-2026-115933 PUBLISHED

Forged signed tokens let any registered user take over other users and organizations

Assigner: postiz
Reserved: 23.10.2026 Published: 24.10.2026 Updated: 24.10.2026

Postiz signs its session, invitation and password reset tokens with one shared secret and without any marker of what a token is for. A route that refreshes the credentials of a browser-extension channel signed data taken from the request itself and stored the result where the requesting user can read it back. A user could therefore obtain a validly signed token containing any claims they choose, which the application accepts as a session, as an organization invitation with a chosen role, as a password reset or as an enterprise provisioning token.

A second, narrower route that creates team invitations signs extra fields from the request body in the same way.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS Score: 9.9

Product Status

Vendor GitroomHQ
Product postiz-app
Versions Default: unaffected
  • affected from 2.15.0 to 2.25.3 (excl.)

Affected Configurations

Self-registration is open unless DISABLE_REGISTRATION is set to true.

Exploits

Exploitation was demonstrated end to end against an unmodified backend build at commit 3a7d28b7ad96: a second self-registered user became super administrator of another user's organization and read its API key. Session, password reset, enterprise and subscription tokens obtained the same way were each accepted by their endpoints.

Workarounds

Set DISABLE_REGISTRATION=true. The attacker needs an ordinary account, so closing self-registration limits exposure to people who already hold one. This reduces reach, it does not close the issue.

Credits

  • Anthropic, PBC finder
  • Enno Gelhaus coordinator
  • Nevo David remediation developer

References

Problem Types

  • CWE-290 CWE
  • CWE-345 CWE
  • CWE-915 CWE

Impacts

  • A registered user can obtain a validly signed token with claims of their choosing and use it as a login session for another user, without knowing any identifier of the victim when database filter objects are used as claims.
  • An attacker can join any other organization as super administrator, using an organization id that is exposed by any shared post preview link, read its API key and channel list and schedule posts through its connected social accounts.
  • An attacker can reset the password of a user whose id they know, and can obtain an organization with a lifetime top-tier subscription through the enterprise provisioning endpoint.
  • Forged tokens do not expire and cannot be told apart from genuine ones.
  • The narrower invitation route lets a user who may invite team members repeatedly stop the scheduled posts of a channel of another organization, and lift the channel limit of their own plan.