CVE-2026-115932

Path traversal in post media lets any registered user read server files

Published Oct 24, 2026 CVSS 3.1 · 9.6 Critical EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

The vulnerability is a path‑traversal flaw in Postiz’s media handling that lets a registered user supply a crafted media path which the publishing worker interprets as a server file path. The worker then reads the file from the disk and sends it as an attachment to a Discord server controlled by the user. Two additional routes expose the same ability: one reveals whether a file exists, potentially exhausting backend memory, and the other delivers the file directly. Consequently an attacker can read arbitrary files on the server, compromising confidentiality and potentially exposing sensitive information.

Affected Systems

The affected product is GitroomHQ’s Postiz application. All releases prior to 2.25.3 contain the flaw; the patch was applied in release 2.25.3, as referenced by the commit and release tag in the advisory. Users running 2.25.2 or earlier are vulnerable.

Risk and Exploitability

The flaw carries a CVSS score of 9.6, indicating a high‑severity exposure. EPSS data is not available, but the absence from the CISA KEV list does not mitigate the risk. The likely attack vector is via self‑registration, which is enabled by default; an attacker can create a new account, craft a malicious post, and trigger the vulnerable worker. A workaround exists—disabling self‑registration or removing Discord provider credentials limits reach but does not fully eliminate the underlying flaw. Until a patched version is deployed, the vulnerability remains exploitable by any user with access to the web interface.

Remediation

Vendor Workaround

Set DISABLE_REGISTRATION=true. The attacker needs an ordinary account, so closing self-registration limits exposure to people who already hold one. This reduces reach, it does not close the issue.


OpenCVE Recommended Actions

  • Upgrade Postiz to version 2.25.3 or later, which contains the fix for the path traversal vulnerability.
  • If an upgrade cannot be performed immediately, set the environment variable DISABLE_REGISTRATION=true to prevent new account creation, thereby reducing the attacker’s ability to register and exploit the flaw.
  • When the Discord integration is not required, unset its client id, client secret, and bot token to remove the main exfiltration route.
  • Evaluate the server’s filesystem permissions to restrict the upload directory and other sensitive files from being included in media reads.

Generated by OpenCVE AI on October 24, 2026 at 13:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Gitroomhq
Gitroomhq postiz-app
Vendors & Products Gitroomhq
Gitroomhq postiz-app
Type Values Removed Values Added
Description 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.
Title Path traversal in post media lets any registered user read server files
Weaknesses CWE-22
CWE-74
References
Metrics cvssV3_1

{'score': 9.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N'}

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

  • CWE-74

    Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

Sources

Status
PUBLISHED
Assigner
postiz
Published
Updated
Nov 2, 2026, 2:07 PM
Reserved
Oct 23, 2026, 9:19 PM
Status
Deferred
Published
Oct 24, 2026, 1:16 PM
Modified
Nov 2, 2026, 3:17 PM