Skip to content
PSA-2026-JNXM56CVE-2026-115931GCVE-125-2026-JNXM56October 23, 2026
9.9 Critical

Arbitrary file read and backend crash through unrestricted provider method calls

A registered Postiz user can make the backend run internal helper functions that were never meant to be reachable from the web interface. This lets them read any file the backend process can read, including its environment and the secret that signs login sessions, and crash the backend with a single request.

Affected (1)

  • GitroomHQpostiz-app
    • ≥ 2.23.0Fixed in 2.25.2

Mitigations

Workarounds

  • 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.

Exploits

  • Exploitation was demonstrated end to end against an unmodified build of Postiz at commit 3a7d28b7ad96, using only a self-registered account: the contents of a file placed outside the application's directories and the exact JWT secret the backend was started with were both returned in full. Terminating the backend with one request was demonstrated separately.

Configurations

  • The default configuration is affected and no setting has to be changed. Self-registration is open unless DISABLE_REGISTRATION is set to true; with registration closed, any existing user can still exploit the issue.
  • The image built from the project's Dockerfile.dev runs the process as root, so every file root can read is exposed. The process's own environment is readable regardless of the user it runs as.

Overview

Postiz lets a signed-in user ask the backend to run a function on one of their connected channels. The backend did not restrict which functions can be requested, so a user could call internal helper functions that were never meant to be reachable from the web interface.

One of those helpers reads a file from the server's disk. A user who connects a channel whose stored token is a file path can have the backend return the contents of any file it can read, including its environment, which holds the secret used to sign login sessions, the database address and the credentials of connected services. Another helper makes the backend process exit with a single request. Self-registration is open by default, so no existing account and no action by another user is needed.

Severity

CVSS v3
9.9 Critical
9.9
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Weaknesses (2)

References (3)

Credits (3)

  • Anthropic, PBC
    Finder
  • Enno Gelhaus
    Coordinator · @egelhaus
  • Nevo David
    Remediation developer · @nevo-david

Context

Impacts

  • Any registered user can read any file the backend process can read, with the result returned as bytes so binary files work.

  • The backend's environment is readable, which exposes the JWT signing secret, the database and Redis connection strings and the credentials and API keys of connected providers when they are passed as environment variables.

  • With the JWT signing secret an attacker can sign a session for any user, including a user in another organization or an instance super administrator, and can decrypt data the application stores encrypted with the same secret.

  • A single request ends the backend process, and it can be repeated after every restart.

  • Other provider functions become callable by any member of an organization that owns a channel, some of which return access tokens for the connected account that other routes keep server side.

Timeline

  1. 10/23/2026 19:45

    Anthropic has disclosed a thorough report of this vulnerability including a working PoC to Postiz

  2. 10/23/2026 20:00

    Postiz has reproduced the vulnerability and is working on a fix

  3. 10/23/2026 21:33

    Postiz has pushed a fix for this vulnerability and verified it

  4. 10/23/2026 22:00

    Postiz has created a release and published the advisory

© 2026 Gelhaus Solutions