Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
8DescriptionGitHub Advisory
Postiz is an AI social media scheduling tool. Prior to version 2.21.6, a file upload validation bypass allows any authenticated user to upload arbitrary HTML, SVG, or other executable file types to the server by spoofing the Content-Type header. The uploaded files are then served by nginx with a Content-Type derived from their original extension (text/html, image/svg+xml), enabling Stored Cross-Site Scripting (XSS) in the context of the application's origin. This can lead to session riding, account takeover, and full compromise of other users' accounts. Version 2.21.6 contains a fix.
Articles & Coverage 1
AnalysisAI
File upload validation bypass in Postiz social media scheduler (versions before 2.21.6) allows authenticated users to upload executable file types (HTML, SVG) with spoofed Content-Type headers, achieving stored XSS when nginx serves files using their original extensions. Attackers can hijack sessions and take over other user accounts. CVSS 8.9 (High) reflects network attack vector with low complexity requiring only low-privilege authentication and user interaction. EPSS data not provided. Not listed in CISA KEV. Vendor patch released in version 2.21.6.
Technical ContextAI
Postiz (gitroomhq/postiz-app) is an AI-powered social media scheduling platform. The vulnerability stems from insufficient server-side validation of uploaded files (CWE-79: Improper Neutralization of Input During Web Page Generation). The application validates files based solely on the HTTP Content-Type header sent by the client, which can be arbitrarily spoofed. When malicious files (HTML, SVG with embedded JavaScript) are uploaded, the nginx web server determines MIME type from file extension rather than the spoofed upload header, serving them as text/html or image/svg+xml. This creates a stored XSS condition where the malicious content executes in victims' browsers within the application's security origin, bypassing same-origin policy protections. The scope change (S:C) in the CVSS vector indicates the vulnerability impacts resources beyond the vulnerable component itself, consistent with cross-user account compromise scenarios.
RemediationAI
Upgrade immediately to Postiz version 2.21.6 or later, released by the vendor to address this vulnerability (https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.6). The patch implements proper server-side file type validation independent of client-supplied Content-Type headers. If immediate upgrade is not feasible, implement these compensating controls: (1) Configure nginx to serve all user-uploaded content from a separate domain/subdomain with restrictive Content-Security-Policy headers to prevent script execution - this breaks same-origin XSS but requires application architecture changes and may affect legitimate file sharing features; (2) Implement allowlist-based file extension validation rejecting .html, .svg, .xml, and other executable types at the application layer before storage - this reduces attack surface but sophisticated attackers may find bypass techniques; (3) Set X-Content-Type-Options: nosniff header and force all uploads to download with Content-Disposition: attachment - this prevents browser rendering but degrades user experience for legitimate media previews. Review application logs for suspicious file uploads (especially HTML/SVG files) uploaded since deployment to identify potential compromise.
More in Postiz App
View allPrivilege escalation to SUPERADMIN in Postiz (gitroomhq/postiz-app) versions prior to 2.21.8 allows any authenticated us
Arbitrary code execution and privileged token theft affects Postiz (gitroomhq/postiz-app) prior to commit da44801 throug
Arbitrary file read in Postiz (gitroomhq/postiz-app before 2.22.1) lets an unauthenticated remote attacker retrieve any
Stored cross-site scripting in Postiz (gitroomhq/postiz-app) versions 2.21.6 through 2.21.6 lets any authenticated user
Server-side request forgery in Postiz AI social media scheduling tool (versions < 2.21.3) allows unauthenticated remote
Server-side request forgery (SSRF) in Postiz social media scheduling tool versions prior to 2.21.3 allows authenticated
Server-side request forgery in Postiz (gitroomhq postiz-app) versions prior to 2.21.5 allows unauthenticated remote atta
Business-logic authentication bypass in Postiz self-hosted AI social media scheduler (gitroomhq/postiz-app) before 2.21.
DNS rebinding exploits a TOCTOU flaw in Postiz v2.16.6-2.21.6 to bypass all SSRF protections added in v2.21.4-v2.21.6, a
Server-side request forgery (SSRF) in Postiz prior to version 2.21.4 allows authenticated users to create webhooks point
Unauthenticated exploitation of Postiz's `/public/modify-subscription` endpoint allowed any caller in possession of a va
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-23634