When a post is published, Postiz treats a media path that is not a web address as a file on the server's disk, but it does not check that the file lies inside the upload directory. A registered user can store a crafted media path with a post, get it past the checks that normally restrict it, and have the publishing worker read an arbitrary file and send it as an attachment to a Discord server the user controls.
The same unconfined reads can be reached through two further routes. One tells the caller whether a file exists and can exhaust the backend's memory, the other delivers the file the same way as the main route. Self-registration is open by default, so the attacker needs no existing account.
The shipped container runs the worker as root, so every file root can read is exposed. Self-registration is open unless DISABLE_REGISTRATION is set to true.
Exploitation was demonstrated end to end against unmodified builds of the backend and the orchestrator at commit 3a7d28b7ad96, using only a self-registered account: a file outside the upload directory arrived byte for byte as an attachment in the attacker's Discord channel. The validation-time route and the stored media route were also exercised separately against the same builds.
If you do not need the Discord provider, leave its client id, client secret and bot token unset. This removes the main route only; the other routes remain.