CVE-2026-85057: ZITADEL Actions V1 sandbox escape via require() filesystem read

CVE-2026-85057 · Severity: high · CVSS 8.7 · Published 2026-09-24

ZITADEL is an identity and access management system that runs custom JavaScript workflows ("Actions") during authentication and login flows. A tenant organization administrator can exploit a missing sandbox restriction to read sensitive files from the host filesystem using the JavaScript require() function, potentially stealing instance-wide credentials and escalating to full control of the entire ZITADEL deployment.

Technologies: github.com/zitadel/zitadel (Go), ZITADEL. Vendors: Go, ZITADEL.

Quick answers

Is CVE-2026-85057 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-85057 being exploited in the wild.
How severe is CVE-2026-85057?
High severity, with a CVSS score of 8.7, published 24 September 2026.
Which products and versions are affected?
github.com/zitadel/zitadel (Go) < 1.80.0-v2.20.0.20260717062331-baf6ed501b68, SEMVER:introduced=0,fixed=1.80.0-v2.20.0.20260717062331-baf6ed501b68; ZITADEL 3.0.0 through 3.4.12, 4.0.0 through 4.16.0.
Is there a fix for CVE-2026-85057?
Yes. github.com/zitadel/zitadel (Go): upgrade to 1.80.0-v2.20.0.20260717062331-baf6ed501b68 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-85057 attacked?
It is attacked over the network, in a hosted service.
Am I affected by CVE-2026-85057?
Check whether you run github.com/zitadel/zitadel (Go) or ZITADEL at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/zitadel/zitadel (Go): upgrade to 1.80.0-v2.20.0.20260717062331-baf6ed501b68 or later
    go get github.com/zitadel/zitadel@v1.80.0-v2.20.0.20260717062331-baf6ed501b68

Technical details

The vulnerability stems from ZITADEL Actions V1 enabling goja's Node-compatible require() registry without restricting the source loader, allowing action scripts to load arbitrary host files readable by the ZITADEL process. An attacker with ORG_OWNER role (which grants org.action.write and org.flow.write permissions) can read process-accessible files including .js, .json, and other formats via error channels. On deployments following ZITADEL's documented bootstrap paths, this enables recovery of instance-wide credentials such as IAM_LOGIN_CLIENT PAT or IAM_OWNER service account keys. The attack breaks multi-tenant isolation, as tenant administrators should not access host filesystem secrets or instance credentials. The vulnerability affects Actions V1 across versions 3.0.0–3.4.12 and 4.0.0–4.16.0; patches disable filesystem-backed module loading in 3.4.13+ and 4.16.1+.

Affected products

  • ZITADEL ZITADEL 3.0.0 through 3.4.12, 4.0.0 through 4.16.0

Identifiers

  • CVE-2026-85057
  • GHSA-fgmf-7rf8-m6vf
  • GO-2026-6591

Timeline

  • 2026-09-24: disclosed: Public advisory published
  • 2026: patched: Patches available in ZITADEL 3.4.13+ and 4.16.1+

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.