Read the docs

Postiz API responses expose channel tokens and organization API key

Priority LOW 24CWE-201Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Information disclosure
Confidentiality · integrity · availability
Low · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-201.

Summary

GitroomHQ postiz-app before 2.25.1 returns complete database rows from several endpoints, exposing secrets that callers are not meant to receive. The public API channel delete returns the channel's platform access and refresh tokens, and GET /user/organizations returns the organization API key to every member, including members below the admin role. An authenticated user with a session, API key or OAuth token in the same organization can use these secrets against the connected social account or call the public API as the organization (CWE-201).

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00283 20th percentileScored 2026-11-07
Fix Fixed postiz-app (GitroomHQ): 2.25.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
gitroomhqpostiz-appbefore 2.25.12.25.1Patch availableCNA
  • postiz-app Vendorgitroomhq Affected before 2.25.1 Fixed in 2.25.1 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:gitroom:postiz:*:*:*:*:*:*:*:*——gitroomhq
  • cpe:2.3:a:gitroom:postiz:*:*:*:*:*:*:*:* Versions — — ·gitroomhq

Remediation

Update GitroomHQ postiz-app to version 2.25.1, the fixed version. Organizations that rotate exposed credentials should also rotate the channel tokens and organization API key that were returned before the update.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA postiz-app (GitroomHQ) Fixed in 2.25.1

Timeline

  1. 2026-10-11 Threatist record created from CVE-2026-107761
  2. 2026-10-11 Alias added: GHSA-wm8w-ph5r-v9cm
  3. 2026-10-16 CISA SSVC decision points changed

References

Patch 1

Advisory 1

Other 1

  • TI-2026-26825 Postiz: Unauthenticated Full-Read SSRF via /public/stream Endpoint with Trivially Bypassable Extension Check CVSS 3.1HIGH 8.6
  • TI-2026-28982 Postiz has Server-Side Request Forgery via Redirect Bypass in /api/public/stream CVSS 3.1HIGH 8.2
  • TI-2026-29238 Postiz Has Unrestricted File Upload via MIME Type Spoofing that Leads to Stored XSS CVSS 3.1CRITICAL 9.0
  • TI-2026-26824 Postiz: SSRF in upload-from-url endpoint allows fetching internal resources and cloud metadata CVSS 4.0HIGH 8.3
  • TI-2026-26837 Postiz: SSRF via Webhook Creation Endpoint Missing URL Safety Validation CVSS 3.1MEDIUM 5.4
  • TI-2026-15715 Unauthenticated arbitrary file read via /uploads path traversal (URL-encoded separators) leading to instance takeover CVSS 4.0CRITICAL 9.3
See all 19 →

Sources