CVE-2026-33344 Overview
CVE-2026-33344 is a path traversal vulnerability affecting Dagu, a workflow engine with a built-in web user interface. This vulnerability allows authenticated attackers to traverse outside the designated DAGs directory by exploiting URL-encoded forward slashes (%2F) in the {fileName} URL path parameter across multiple API endpoints.
The vulnerability exists because while the fix for CVE-2026-27598 properly addressed the CREATE path by adding ValidateDAGName to CreateNewDAG and rewriting generateFilePath to use filepath.Base, the remaining API endpoints—GET, DELETE, RENAME, and EXECUTE—were left unpatched. These endpoints pass the {fileName} parameter directly to locateDAG without calling ValidateDAGName, enabling directory traversal attacks.
Critical Impact
Authenticated attackers can read, delete, rename, or execute DAG files outside the intended directory, potentially compromising sensitive workflow configurations and enabling unauthorized actions on the system.
Affected Products
- Dagu versions 2.0.0 to before 2.3.1
Discovery Timeline
- 2026-03-24 - CVE-2026-33344 published to NVD
- 2026-03-26 - Last updated in NVD database
Technical Details for CVE-2026-33344
Vulnerability Analysis
This path traversal vulnerability (CWE-22) stems from an incomplete security fix for CVE-2026-27598. The original patch introduced validation mechanisms that were only applied to the CREATE endpoint, leaving other critical API endpoints vulnerable. The attack requires network access and low-privilege authentication, but once authenticated, an attacker can exploit the flaw without user interaction.
The vulnerability allows attackers to access files with high confidentiality and integrity impact—meaning sensitive DAG configurations can be read, modified, or deleted. This could lead to workflow manipulation, data exfiltration, or disruption of automated processes managed by Dagu.
Root Cause
The root cause is inconsistent input validation across API endpoints. While the CREATE path was secured with ValidateDAGName and filepath.Base, the GET, DELETE, RENAME, and EXECUTE endpoints continue to pass user-controlled {fileName} parameters to locateDAG without sanitization. URL-encoded forward slashes (%2F) bypass the standard path parsing, allowing attackers to construct paths that traverse outside the DAGs directory.
Attack Vector
An authenticated attacker can craft malicious API requests using URL-encoded path traversal sequences. By encoding forward slashes as %2F, the attacker can navigate the filesystem relative to the DAGs directory. For example, a request to access ..%2F..%2Fetc%2Fpasswd would decode to ../../etc/passwd, potentially exposing sensitive system files or allowing manipulation of files outside the intended scope.
The following code shows the security patch that addresses this vulnerability by adding proper validation:
"github.com/dagu-org/dagu/internal/cmn/eval"
"github.com/dagu-org/dagu/internal/cmn/logger"
"github.com/dagu-org/dagu/internal/cmn/logger/tag"
+ "github.com/dagu-org/dagu/internal/core"
"github.com/dagu-org/dagu/internal/core/baseconfig"
"github.com/dagu-org/dagu/internal/core/exec"
"github.com/dagu-org/dagu/internal/license"
Source: GitHub Commit
The patch imports the core module to leverage centralized validation, ensuring all API endpoints properly validate DAG file names before processing.
Detection Methods for CVE-2026-33344
Indicators of Compromise
- API requests containing URL-encoded path traversal sequences (%2F, %2E%2E) in the {fileName} parameter
- Unusual access patterns to GET, DELETE, RENAME, or EXECUTE DAG endpoints with non-standard file paths
- Log entries showing file access attempts outside the configured DAGs directory
- Failed or unexpected file operations in directories outside the DAGs folder
Detection Strategies
- Implement web application firewall (WAF) rules to detect and block URL-encoded path traversal patterns in API requests
- Enable detailed logging for all Dagu API endpoints and monitor for suspicious fileName parameters
- Create detection rules for HTTP requests containing %2F or %2E%2E sequences targeting Dagu API paths
- Deploy intrusion detection signatures for path traversal attempts against workflow engine endpoints
Monitoring Recommendations
- Monitor Dagu API access logs for requests with encoded characters in file path parameters
- Set up alerts for file system access attempts outside the designated DAGs directory
- Review authentication logs for unusual patterns of API calls to GET, DELETE, RENAME, or EXECUTE endpoints
- Implement anomaly detection for file operations that deviate from normal workflow patterns
How to Mitigate CVE-2026-33344
Immediate Actions Required
- Upgrade Dagu to version 2.3.1 or later immediately
- Review access logs for evidence of exploitation attempts using encoded path traversal sequences
- Audit file system permissions to limit the impact of potential unauthorized access
- Restrict network access to the Dagu web interface to trusted users and IP ranges
Patch Information
The vulnerability has been patched in Dagu version 2.3.1. The fix extends the ValidateDAGName validation to all API endpoints that handle file operations, not just the CREATE path. Organizations should update immediately by pulling the latest release from the official Dagu repository. For detailed patch information, refer to the GitHub Commit and the GitHub Security Advisory.
Workarounds
- Implement reverse proxy rules to reject requests containing %2F or %2E%2E in the {fileName} parameter
- Restrict Dagu web interface access to authenticated users on trusted networks only
- Deploy a WAF with path traversal detection capabilities in front of the Dagu instance
- Temporarily disable direct API access and route requests through a validation layer that sanitizes file paths
# Example nginx configuration to block encoded path traversal
location /api/ {
if ($request_uri ~* "%2F|%2E%2E") {
return 403;
}
proxy_pass http://dagu-backend;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


