
What Changed
Attackers are exploiting CVE-2026-29059 (CVSS 7.5), an unauthenticated path traversal flaw in the Windmill developer platform. The bug sits in the get_log_file endpoint (/api/w/{workspace}/jobs_u/get_log_file/{filename}) and lets a remote attacker read arbitrary files from the server without logging in.
VulnCheck researcher Valentin Lobstein reported exploitation attempts that read /etc/passwd, including requests routed through the Nextcloud proxy path. VulnCheck counted roughly 170 vulnerable systems across 24 countries. CISA has added the flaw to the Known Exploited Vulnerabilities (KEV) catalog with a July 24 deadline for federal civilian agencies, in the same update as the wp2shell flaws (CVE-2026-60137 and CVE-2026-63030), DD-WRT CVE-2021-27137 and Langflow CVE-2026-0770.
Why This Is More Than A File-Read Bug
Arbitrary file read on an automation platform is a secrets problem. If an administrator has set SUPERADMIN_SECRET, the value can be read from /proc/1/environ, which turns a read-only bug into full administrative control. The variable is not set by default, so impact depends on how each instance was deployed.
Know what matters before your first meeting.
Weekday mornings. Five minutes. What changed in security, why it matters.
By subscribing you agree to our Privacy Policy.
Free. Weekday mornings. 5 minutes or less.
The timeline is also worth noting: Windmill fixed the issue in version 1.603.3 in January 2026 and published its advisory in March. Instances still being hit in July are ones that missed a fix that has been available for about six months.
What To Verify First
- Confirm every Windmill instance, including self-hosted and embedded deployments, is on 1.603.3 or later.
- Check whether
SUPERADMIN_SECRETor other secrets are passed as environment variables, and rotate them if the instance was exposed while unpatched. - Search web and proxy logs for requests to
get_log_filecontaining traversal sequences, including traffic arriving through Nextcloud integrations. - Remove direct internet exposure for instances that do not need it.
What Teams May Be Underestimating
A small exposed population does not mean low attacker interest. KEV listing plus public exploitation means opportunistic scanning will continue, and any credential that sat in a readable file or environment block should be treated as potentially exposed.
Source Context
This item was rebuilt from the following primary sources and original reporting:
Know what matters before your first meeting.
Weekday mornings. Five minutes. What changed in security, why it matters.
By subscribing you agree to our Privacy Policy.
Free. Weekday mornings. 5 minutes or less.
- The Hacker News: Hackers Exploit Windmill Flaw to Read Arbitrary Server Files Without Authentication
Related In The Daily Brief
See this item in The 5-Minute Cyber Brief
Newer CyberExperts coverage on this topic
This article still works as background. If you want the current picture, start with the freshest related coverage below and today's brief.
Coder’s registry infrastructure compromised to push malicious modules
The Coder incident is a supply-chain lesson in miniature: once attackers can tamper with trusted module distribution, defenders are no longer verifying...
Attackers Turn Trusted Node.js Runtime Into Malware Delivery Tool in Targeted Attacks
The useful lesson in this campaign is not that Node.js is bad. It is that adversaries keep choosing legitimate runtimes defenders already...
HPE patches critical ArubaOS-CX remote code execution flaw
ArubaOS-CX deserves attention because switching software rarely gets treated with the same urgency as identity or edge security until exploitation arrives. A...
Thursday’s brief: Cisco email gateways under attack, then PAN-OS, Nextcloud and AhsayCBS
The fastest way to catch up on what changed after this article was published.
Start your morning with the signal that matters.
Get the biggest cybersecurity developments, why they matter, and where to go deeper on CyberExperts.
By subscribing you agree to our Privacy Policy.
Free. Weekdays. Built for operators.