CVE-2026-47107: Windmill < 1.703.2 Incorrect Default Permissions in nsjail Configuration
Windmill prior to 1.703.2 contains an incorrect default permissions vulnerability in nsjail sandbox configuration files where /etc is bind-mounted without read-write restrictions, allowing authenticated users to write arbitrary entries to /etc/hosts, /etc/resolv.conf, and /etc/ssl/certs/ca-certificates.crt from within script execution sandboxes. Attackers can exploit persistent poisoned entries across all subsequent script executions on the same worker pod to redirect hostnames, intercept DNS queries, perform transparent HTTPS man-in-the-middle attacks, and intercept WM_TOKEN JWTs to gain workspace-admin access to other users' workspaces.
Security readout for executives and security teams
Plain-English summary
Windmill before 1.703.2 allowed authenticated users to write inside sensitive /etc files from script sandboxes. That could poison DNS, trust roots, and hostname resolution for later jobs on the same worker, potentially exposing workspace tokens and enabling workspace-admin access to other users' workspaces.
Executive priority
Treat this as high priority for Windmill environments with shared workers or broad script access. The business risk is cross-workspace privilege impact through token interception, not only sandbox escape noise.
Technical view
The issue is incorrect default permissions in nsjail configuration: /etc was bind-mounted without read-write restrictions. Authenticated script execution could alter /etc/hosts, /etc/resolv.conf, and ca-certificates.crt, with changes persisting across subsequent executions on the same worker pod.
Likely exposure
Self-hosted or managed Windmill deployments running versions prior to 1.703.2 are the relevant exposure. Risk is highest where untrusted or lower-privileged authenticated users can run scripts on shared worker pods.
Exploitation context
The source bundle does not cite active exploitation, and KEV is false. Exploitation requires authenticated access and script execution, but no user interaction. The described impact includes DNS redirection, transparent HTTPS interception, and WM_TOKEN JWT interception.
Researcher notes
Key evidence is the nsjail /etc bind-mount permission flaw and patch commit f8467f38c8a053117ce62f96684cfb15ef792f08. Evidence in the bundle supports authenticated abuse and persistence on worker pods, but not public exploit activity.
Mitigation direction
Upgrade Windmill to 1.703.2 or later.
Review the vendor release, pull request, and patch for deployment-specific guidance.
Until upgraded, limit script execution to trusted authenticated users.
Follow vendor guidance for worker cleanup after potential poisoned /etc state.
Validation and detection
Inventory Windmill versions and confirm all instances are at least 1.703.2.
Check nsjail configuration for /etc bind mounts with proper write restrictions.
Review worker pod history for untrusted script execution before patching.
Assess logs for unexpected DNS, hostname, or certificate trust changes.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-276: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
1ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-276 · source CWE mapping
Incorrect Default Permissions
Incorrect Default Permissions represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.