CVE-2026-115932: Path traversal in post media lets any registered user read server files
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.
Affected Software
Event History
Frequently Asked Questions
Who can exploit this issue in a default deployment?
Any user who can register an account can exploit it. Because self-registration is open by default, an attacker does not need a pre-existing account or elevated privileges.
What does an attacker need to do to obtain files from the server?
The attacker needs to create a post containing a crafted media path and publish it. The publishing worker can then read an arbitrary server file and send it as an attachment to a Discord server controlled by the attacker.
Are there other exposed behaviors besides publishing a post?
Yes. Two additional routes can reach the same unconfined file reads: one reveals whether a file exists and can exhaust backend memory, while another can deliver the file through the same attachment mechanism.