Project Subscriptions
No data.
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-m4q3-457p-hh2x | Dagu: Path Traversal via `dagRunId` in Inline DAG Execution |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Fri, 13 Mar 2026 20:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Fri, 13 Mar 2026 19:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Dagu is a workflow engine with a built-in Web user interface. Prior to 2.2.4, the dagRunId request field accepted by the inline DAG execution endpoints is passed directly into filepath.Join to construct a temporary directory path without any format validation. Go's filepath.Join resolves .. segments lexically, so a caller can supply a value such as ".." to redirect the computed directory outside the intended /tmp/<name>/<id> path. A deferred cleanup function that calls os.RemoveAll on that directory then runs unconditionally when the HTTP handler returns, deleting whatever directory the traversal resolved to. With dagRunId set to "..", the resolved directory is the system temporary directory (/tmp on Linux). On non-root deployments, os.RemoveAll("/tmp") removes all files in /tmp owned by the dagu process user, disrupting every concurrent dagu run that has live temp files. On root or Docker deployments, the call removes the entire contents of /tmp, causing a system-wide denial of service. This vulnerability is fixed in 2.2.4. | |
| Title | Dagu has a Path Traversal via `dagRunId` in Inline DAG Execution | |
| Weaknesses | CWE-22 | |
| References |
| |
| Metrics |
cvssV3_1
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-03-13T19:43:18.359Z
Reserved: 2026-03-09T21:59:02.686Z
Link: CVE-2026-31886
Updated: 2026-03-13T19:43:13.196Z
Status : Received
Published: 2026-03-13T19:54:37.690
Modified: 2026-03-13T19:54:37.690
Link: CVE-2026-31886
No data.
OpenCVE Enrichment
No data.
Github GHSA