CVE-2026-107761: Channel tokens and organization API key exposed in API responses
Several Postiz endpoints return the complete database row of the record they operate on instead of only the fields the client needs. Two of them include secrets the caller is not meant to receive.
The public API's channel delete returns the deleted integration row, including the channel's platform access token and refresh token. A third-party OAuth app permitted to delete a channel therefore receives that channel's social platform credentials and can use them against the connected account directly, outside Postiz.
GET /user/organizations returns each organization row, including its API key, to every member of the organization. The API key is intended for admins only, so a member with a lower role can obtain it and call the public API on behalf of the organization.
Both endpoints require a valid session, API key or OAuth token and are scoped to the caller's own organization. There is no anonymous access and no cross-tenant exposure.
Affected Software
Event History
Frequently Asked Questions
Who can obtain the exposed credentials?
A caller must already have a valid session, API key, or OAuth token and is limited to their own organization. There is no anonymous or cross-tenant exposure. Any organization member can retrieve the organization API key through GET /user/organizations, while a third-party OAuth application authorized to delete a channel can receive that channel's platform access and refresh tokens.
What can an attacker do with the disclosed values?
A lower-role organization member can use the organization API key to call the public API on behalf of the organization. An OAuth application that deletes a channel can use the returned social-platform access and refresh tokens directly against the connected account outside of Postiz.
Which endpoints and actions are involved?
GET /user/organizations returns organization rows containing the API key to every member. The public API channel-delete operation returns the deleted integration row, including the channel's platform access token and refresh token.
Is a fixed release identified?
The provided references include the Postiz v2.25.1 release and a source-code commit, but the affected-version range is not stated.