Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-33344

CVE-2026-33344: Dagu Workflow Engine Path Traversal Flaw

CVE-2026-33344 is a path traversal vulnerability in Dagu workflow engine that allows attackers to access files outside the DAGs directory using encoded slashes. This article covers technical details, affected versions, and mitigations.

Published:

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:

go
 	"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
bash
# 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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.