Postiz Skool integration JWT forgery leading to cross-tenant SUPERADMIN takeover
CVE-2026-48781 is a critical authentication/authorization flaw in Postiz, an AI social media scheduling tool, affecting versions prior to 2.21.8. In the Skool integration callback, attacker-controlled JSON was signed into a session-shaped JWT using the application's JWT_SECRET. Postiz's authentication middleware then trusted the claims in that JWT without re-resolving the user from the database or otherwise independently validating the asserted identity and privilege level. As a result, an authenticated attacker could forge a JWT containing arbitrary claims, including elevated role and tenant context, and obtain a forged SUPERADMIN session. The flaw enables cross-tenant impersonation of arbitrary organizations and effectively breaks trust boundaries between tenants on the same Postiz instance.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation allows full compromise of the affected Postiz instance from the perspective of application authorization. An attacker can obtain SUPERADMIN-level access, impersonate arbitrary organizations, access all parts of Postiz on the targeted instance, view data associated with users registered to that instance, and post content in the name of victims through social media channels connected to the compromised Postiz deployment. The issue has high confidentiality, integrity, and availability impact because it enables unauthorized access to tenant data, unauthorized administrative actions, and abuse of integrated publishing capabilities.
If you can’t patch tonight, do this now.
If immediate upgrade is not possible, disable or restrict the vulnerable Skool integration callback path where feasible, and monitor for anomalous session creation, privilege escalation, organization impersonation, and unauthorized posting activity. Review logs for signs of forged SUPERADMIN sessions or cross-tenant access. Rotate JWT secrets and force re-authentication to reduce the usefulness of previously forged or issued tokens. As a defense-in-depth measure, validate JWT claims against server-side state and avoid deriving trusted session state directly from attacker-influenced callback payloads.
Patch, then assume compromise.
Upgrade Postiz to version 2.21.8 or later, where the issue is fixed. Ensure authentication middleware does not trust privilege- or identity-bearing JWT claims from integration callbacks without authoritative server-side validation. Re-resolve the user and authorization context from the database before establishing a session, and restrict callback processing so attacker-controlled data cannot be transformed directly into trusted session tokens. If there is any possibility the JWT secret was exposed or abused, rotate JWT_SECRET and invalidate existing sessions/tokens as part of incident response.
No public exploits tracked yet. Mallory keeps watching.
2 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.