DDEV: Incomplete symlink traversal fix allows arbitrary host file overwrite (CVE-2026-108262)
An incomplete fix for CVE-2026-32885 in DDEV allows attackers to perform arbitrary host file overwrites and achieve code execution by planting absolute symlinks via maliciously crafted tar archives.
CVE search metadata
CVE search record: CVE-2026-108262. Severity: medium. CVSS: 6.5. EPSS: 0.31%. KEV: no. Product: ddev (< 1.25.4). Brief: DDEV: Incomplete symlink traversal fix allows arbitrary host file overwrite (CVE-2026-108262). Brief link: https://feed.craftedsignal.io/briefs/2026-11-ddev-symlink-traversal/
CVE search record: CVE-2026-32885. Severity: medium. CVSS: 6.5. EPSS: 0.42%. KEV: no. Product: ddev (< 1.25.4). Brief: DDEV: Incomplete symlink traversal fix allows arbitrary host file overwrite (CVE-2026-108262). Brief link: https://feed.craftedsignal.io/briefs/2026-11-ddev-symlink-traversal/
Triage facts
Revision 1- Applicability
- ddev (< 1.25.4)
- Evidence
- Unknown
- Severity
- High
- Action
- Immediate escalation
- Sources
- 1 public source
- Freshness
- Revision 1Nov 10, 16:37 UTC
- Vulnerabilities
- 2 CVEs
- Source quality
- A1Likely
DDEV versions prior to 1.25.4 contain an incomplete fix for symlink traversal vulnerabilities. The application performs lexical validation on absolute symlink targets by rebasing them within a destination directory, but subsequently writes the raw, absolute target to the filesystem using os.Symlink. This discrepancy allows an attacker to plant a symlink pointing to an arbitrary host location. A subsequent file entry in the same archive can then traverse this symlink to overwrite sensitive files outside the intended extraction path. Successful exploitation targeting shell rc-files, git hooks, or cron jobs can result in arbitrary code execution. This vulnerability is reachable via ddev add-on get, ddev import-db, and ddev import-files.
Attack Chain
- Attacker crafts a malicious tar archive containing an absolute symlink entry (e.g., pointing to
/home/user/.zshrc). - Attacker includes a second regular-file entry in the archive with a path that traverses the planted symlink.
- DDEV
Untarfunction processes the symlink; the lexical check passes because it rebases the path, but the file is created with the raw absolute target. - The malicious symlink is created on the host filesystem pointing to a sensitive file.
- DDEV
Untarprocesses the subsequent file entry, which passes the lexical check as it appears to be inside the destination. os.Createfollows the symlink and overwrites the target sensitive file on the host.
Impact
Exploitation results in the ability to overwrite arbitrary files on the host filesystem with the privileges of the user running DDEV. By targeting shell configuration files, git hooks, or automation scripts, an attacker can achieve persistent code execution on the host machine.
Recommendation
- Upgrade DDEV to version 1.25.4 or later immediately.
- Until patched, avoid executing
ddevcommands against untrusted or externally sourced archives, repositories, or add-ons. - Implement file integrity monitoring on sensitive user directories (e.g.,
$HOME/.ssh,$HOME/.zshrc,$HOME/.bashrc,githooks) to detect unauthorized file modifications occurring during DDEV operations.
Immediate actions
Upgrade DDEV to 1.25.4 on all developer workstations and build servers.
Threat Hunt
Hunt for DDEV processes spawning child processes that perform writes to dot-files in home directories.
Data: Process creation logs (ParentImage, Image, CommandLine, TargetFileName)
Mitigations
Upgrade DDEV to 1.25.4.
CVE-2026-108262