Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery
Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application's JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim's social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-48781
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 16:10 UTC · Revision 1
Source evidence
Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery
core-osv · Original sourcePublished 16 Jun 2026, 21:31 UTC
Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application's JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim's social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8.
osv:CVE-2026-48781
Complete source record
{
"id": "b5b45f07be9fd3019cabde0fe306bdb8c1f88ddbe34c3be0998a1b145d8ddfe2",
"url": "https://osv.dev/vulnerability/CVE-2026-48781",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery",
"summary": "Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application's JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim's social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8.",
"evidence": "osv:CVE-2026-48781",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-48781",
"aliases": [
"CVE-2026-48781",
"GHSA-j77w-h625-56q2"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/gitroomhq/postiz-app",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "9a7d9deafcf373c759e2ec7955206a2a31b003f3"
},
{
"fixed": "23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.21.8"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "9a7d9deafcf373c759e2ec7955206a2a31b003f3"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v2.21.8"
}
]
}
}
],
"versions": [
"v2.21.7",
"v2.21.6",
"v2.21.5",
"v2.21.3",
"v2.21.2",
"v2.21.1",
"v2.21.0",
"v2.20.2",
"v2.20.1",
"v2.20.0",
"v2.19.0",
"v2.18.0",
"v2.17.0",
"v2.16.0",
"v2.15.1",
"v2.15.0",
"v2.14.0",
"v2.13.0",
"v2.12.1",
"v2.12.0",
"v2.11.3",
"v2.11.1",
"v2.11.0",
"v2.10.1",
"v2.10.0",
"v2.9.0",
"v2.8.3",
"v2.8.2",
"v2.8.1",
"v2.8.0",
"v2.7.0",
"v2.6.4",
"v2.6.3",
"v2.6.2",
"v2.6.1",
"v2.5.4",
"v2.5.3",
"v2.4.3",
"v2.5.2",
"v2.5.1",
"v2.5.0",
"v2.4.2",
"v2.4.1",
"v2.4.0",
"v2.3.1",
"v2.3.0",
"v2.2.5",
"v2.2.4",
"v2.2.3",
"v2.2.1",
"v2.2.0",
"v2.1.2",
"v2.1.1",
"v2.0.8",
"v2.0.7",
"v2.0.6",
"v2.0.5",
"v2.0.4",
"v2.0.3",
"v2.0.2",
"v2.0.1",
"v1.65.7",
"v1.65.6",
"v1.65.5",
"v1.65.4",
"v1.65.3",
"v1.65.2",
"v1.65.1",
"v1.65.0",
"v1.64.1",
"v1.64.0",
"v1.63.0",
"v1.62.3",
"v1.62.2",
"v1.62.1",
"v1.62.0",
"v1.61.2",
"v1.61.0",
"v1.60.1",
"v1.60.0",
"v1.59.0",
"v1.58.0",
"v1.57.0",
"v1.56.0",
"v1.55.5",
"v1.54.0",
"v1.55.4",
"v1.55.3",
"v1.55.2",
"v1.55.1",
"v1.55.0",
"v1.54.1",
"v1.53.0",
"v1.52.2",
"v1.52.1",
"v1.52.0",
"v1.51.0",
"v1.50.0",
"v1.49.1",
"v1.49.0",
"v1.48.4",
"v1.48.3",
"v1.48.2",
"v1.48.1",
"v1.47.0",
"v1.45.1",
"v1.44.2",
"v1.44.1",
"v1.43.5",
"v1.43.4",
"v1.43.3",
"v1.43.2",
"v1.43.1",
"v1.43.0",
"v1.41.1",
"v1.41.0",
"v1.40.1",
"v1.40.0",
"v1.39.3",
"v1.39.2",
"v1.38.2",
"v1.38.1",
"v1.37.4",
"v1.37.3",
"v1.37.2",
"v1.37.1",
"v1.36.1",
"v1.35.1",
"v1.34.1",
"v1.33.2",
"v1.33.1",
"v1.32.1",
"v1.31.1",
"v1.30.1",
"v1.29.1",
"v1.28.1",
"v1.27.2",
"v1.26.1",
"v1.24.1",
"v1.23.2",
"v1.23.1",
"v1.22.1",
"v1.10.1",
"v1.10.0",
"v1.8.1",
"v1.7.12",
"v1.6.12",
"v1.6.9",
"v1.6.4",
"v1.6.2",
"v1.6.1",
"1.6.0",
"v1.5.0",
"v1.4.0",
"v1.3.0",
"v1.2.0",
"v1.1.0",
"v1.0.0",
"v0.0.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-48781.json"
}
}
],
"modified": "2026-10-28T02:30:30.161458841Z",
"provider": "osv",
"references": [
"https://gadvisory.org/advisories/PSA-2026-2CAQ96",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48781.json",
"https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j77w-h625-56q2",
"https://nvd.nist.gov/vuln/detail/CVE-2026-48781",
"https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
],
"provider_metadata": {
"cwe_ids": [
"CWE-302",
"CWE-345",
"CWE-863"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/48xxx/CVE-2026-48781.json"
}
},
"related_cves": [
{
"value": "CVE-2026-48781",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497165,
"published_at": "2026-06-16T21:31:28.955+00:00"
}