The endpoint's only check is that the request body carries a token bearing a valid signature from the instance secret. It does not check what that token was issued for. Login tokens are signed with the same secret and carry no purpose, audience or expiry claim, so an ordinary user's own session token satisfies the check.
Presented with such a token, the endpoint creates a new organisation holding the highest subscription tier, flagged as lifetime and with a channel allowance far above any sold plan, creates an organisation-owner account alongside it, and returns the new organisation's API key in the response body. That key is immediately valid against the public API.
No advisories yet.
Solution
No solution given by the vendor.
Workaround
Block POST /enterprise/create-user, and preferably all of /enterprise/*, at your reverse proxy, ingress or WAF. If you do not use Postiz's enterprise or reseller provisioning integration, nothing legitimate calls these routes, so blocking them has no user-visible effect.
Tue, 22 Sep 2026 19:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Tue, 22 Sep 2026 18:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Gitroomhq
Gitroomhq postiz-app |
|
| Vendors & Products |
Gitroomhq
Gitroomhq postiz-app |
Tue, 22 Sep 2026 16:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | An HTTP endpoint intended for provisioning enterprise and reseller organisations is reachable without any session. The authentication middleware is bound only to an explicit list of controllers, and the enterprise controller is not on that list, so no authentication runs for these routes. The endpoint's only check is that the request body carries a token bearing a valid signature from the instance secret. It does not check what that token was issued for. Login tokens are signed with the same secret and carry no purpose, audience or expiry claim, so an ordinary user's own session token satisfies the check. Presented with such a token, the endpoint creates a new organisation holding the highest subscription tier, flagged as lifetime and with a channel allowance far above any sold plan, creates an organisation-owner account alongside it, and returns the new organisation's API key in the response body. That key is immediately valid against the public API. | |
| Title | Unauthenticated /enterprise/create-user mints lifetime top-tier organizations and discloses their API key | |
| Weaknesses | CWE-1390 CWE-306 CWE-345 CWE-770 |
|
| References |
| |
| Metrics |
cvssV3_1
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: postiz
Published:
Updated: 2026-09-22T18:14:13.947Z
Reserved: 2026-09-21T17:10:50.156Z
Link: CVE-2026-94455
Updated: 2026-09-22T18:14:10.761Z
Status : Awaiting Analysis
Published: 2026-09-22T17:17:31.497
Modified: 2026-09-22T19:37:36.747
Link: CVE-2026-94455
No data.
OpenCVE Enrichment
Updated: 2026-09-22T18:15:15Z