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.
{
"cna_assigner": "postiz",
"cwe_ids": [
"CWE-22",
"CWE-74"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/115xxx/CVE-2026-115932.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"introduced": "2.23.0"
},
{
"fixed": "2.25.3"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
}
]
}
]
}{
"extracted_events": [
{
"original_tag": "v2.25.3",
"range": [
{
"fixed": "a5affe62c74e39c1e7ac960d50d8418b807d532c"
}
],
"source": "REFERENCES_TAG"
},
{
"range": [
{
"fixed": "12db9bd2f428b628a62809669c3d76297e07750a"
}
],
"source": "REFERENCES_COMMIT"
}
]
}