Skip to content
Fencer Vulns
high 8.7

CVE-2026-85057 json

ZITADEL: Actions V1 sandbox escape: host file read via require()

published 2026-09-24 46 d ago modified 2026-10-05 35 d ago also EUVD-2026-86322 , GHSA-fgmf-7rf8-m6vf , GO-2026-6591

cvss
8.7
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.4%
EPSS 0.4% chance of exploitation in 30 days, percentile 33%
public exploits
0
none known

Summary

ZITADEL is an open source identity management platform. From 3.0.0 until 3.4.13 and 4.16.1, ZITADEL Actions V1 enables the goja Node-compatible require() registry without restricting its filesystem source loader. An organization Action author with ORG_OWNER, org.action.write, and org.flow.write permissions can run JavaScript at OIDC, SAML, and login-flow trigger points and load files readable by the ZITADEL server process. This can disclose mounted configuration and secrets, including credentials stored through ZITADEL_FIRSTINSTANCE_LOGINCLIENTPATPATH or ZITADEL_FIRSTINSTANCE_MACHINEKEYPATH, and recovered bootstrap credentials can enable escalation from an organization administrator to an instance administrator. The issue affects Actions V1, and host command execution is not established. This issue is fixed in versions 3.4.13 and 4.16.1.

Patch / fix

  • go github.com/zitadel/zitadel 1.80.0-v2.20.0.20260717062331-baf6ed501b68
  • zitadel zitadel 3.4.13, 4.16.1

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
35 d ago

Exploit prediction

0.39% chance of exploitation in the next 30 days, higher than 33% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 8.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N
GitHub 3.1 8.7 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N

Affected packages

ecosystem package affected fixed in
go github.com/zitadel/zitadel
<1.80.0-v2.20.0.20260717062331-baf6ed501b68
1.80.0-v2.20.0.20260717062331-baf6ed501b68

Affected products

  • zitadel zitadel

Classification

Weakness

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.