highCVSS 8.7Vulnerability

CVE-2026-85057

### Summary A vulnerability in ZITADEL Actions V1 allows an organization Action author to read files from the ZITADEL host filesystem through the JavaScript `require()` module loader. On common self-hosted deployments this can be chained to steal bootstrap credentials (including the Login Client PAT) and escalate from a single-tenant organization owner to instance administrator. ### Impact ZITADEL Actions V1 run custom JavaScript inside the ZITADEL server process at OIDC, SAML, and login-flow trigger points. The runtime enables the goja Node-compatible `require()` registry without restricting the source loader, so Action scripts can load host files readable by the ZITADEL process (notably `.js` and `.json`, and in some cases other file contents via error channels). An attacker with **ORG_OWNER** on any organization (which includes `org.action.write` and `org.flow.write`) can therefore: * Read process-readable host files, including configuration or secrets mounted into the API container (for example service-account material, projected secrets, or config carrying sensitive values). * On deployments that follow ZITADEL’s documented bootstrap paths (`ZITADEL_FIRSTINSTANCE_LOGINCLIENTPATPATH`, `ZITADEL_FIRSTINSTANCE_MACHINEKEYPATH`), recover instance-wide credentials such as the **IAM_LOGIN_CLIENT** PAT or the **IAM_OWNER** service-account key, enabling escalation to full instance control. This collapses the expected multi-tenant isolation boundary: a tenant organization administrator is not meant to access host filesystem secrets or instance-wide credentials. **Scope note:** This issue affects **Actions V1**. Host command execution was not identified as part of this vulnerability. Impact depends on what the ZITADEL process can read on disk and on deployment layout — documented Compose and quick-start setups that write bootstrap PATs or machine keys into the API container amplify severity. ### Affected Versions Systems running one of the following versions are a

Properties

summary
ZITADEL: Actions V1 sandbox escape: host file read via require()
severity
high
cvss_score
8.7
retrieved_at
2026-09-25T06:02:49+00:00
ghsa_published
2026-09-24T18:19:32Z
source_url
https://github.com/advisories/GHSA-fgmf-7rf8-m6vf
ghsa_updated
2026-09-24T18:19:34Z
ghsa_id
GHSA-fgmf-7rf8-m6vf
last_source
GitHub Advisory Database
cve_id
CVE-2026-85057
cvss_vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N
signal_observed_at
2026-09-25T06:02:49+00:00
is_ghsa_only
false

Related Entities (4)

HAS_WEAKNESS (1)

→[Weakness]Improper Access Control

AFFECTS (1)

→[Software]go/github.com/zitadel/zitadel

REPORTED_BY (1)

→[Source]GitHub Advisory Database

VULNERABLE_TO (1)

←[Software]go/github.com/zitadel/zitadel

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-85057 (CVSS 8.7) — Ninja Signal Threat Intelligence | Ninja Signal