Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attacker needs deploy/cert command access so PR:L; archive can be remotely supplied (AV:N), extraction is deterministic (AC:L), and arbitrary file write to authorized_keys yields full C/I/A.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
8DescriptionNVD
Dokku is a docker-powered PaaS. Prior to 0.38.2, the git:from-archive and certs:add commands extract user-supplied tar/zip archives into temporary directories without sanitizing member paths or preventing symlink traversal. GNU tar creates symlinks during extraction and follows them for subsequent entries, allowing an attacker to write arbitrary files anywhere writable by the dokku user - including overwriting ~/.ssh/authorized_keys to gain unrestricted shell access. This vulnerability is fixed in 0.38.2.
Articles & Coverage 1
AnalysisAI
Arbitrary file write in Dokku before 0.38.2 lets an attacker with deploy-level access escalate to full shell access on the host. The git:from-archive and certs:add commands extract attacker-supplied tar/zip archives without sanitizing member paths, and because GNU tar creates and then follows symlinks during extraction, a crafted archive can plant files anywhere the dokku user can write - most damagingly ~/.ssh/authorized_keys. There is no public exploit identified at time of analysis and CISA SSVC records exploitation as none, but the technical impact is rated total.
Technical ContextAI
Dokku is a Docker-powered, self-hosted PaaS (Heroku-style) that lets users deploy apps and manage TLS certificates via shell-style subcommands. The affected workflows are git:from-archive (deploy from a tar/zip) and certs:add (load a certificate bundle), both of which pipe a user-supplied archive into GNU tar for extraction into a temporary directory. The root cause is CWE-59 (link following / improper link resolution): tar materializes symlink entries as it extracts and then writes subsequent entries through those links. By ordering an archive so an early entry creates a symlink pointing outside the temp directory (e.g. to the dokku user's home) and a later entry writes through that link, the extraction escapes its intended directory. CPE cpe:2.3:a:dokku:dokku confirms the dokku application itself is the affected component; the fix (PR #8591) adds a pre-extraction validator that rejects absolute paths, .. traversal, and out-of-tree symlinks, plus archive-bomb limits (archive-max-size, archive-max-files).
RemediationAI
Vendor-released patch: upgrade to Dokku 0.38.2 or later, which validates archives before extraction and rejects absolute paths, parent-directory (..) traversal, and symlinks pointing outside the extraction directory, as documented in GHSA-j6qq-xg73-ghqg and PR #8591. Until you can upgrade, restrict who can run git:from-archive and certs:add and never feed untrusted or externally-fetched archives to these commands, since exploitation depends on supplying a malicious archive; treat deploy/cert access as equivalent to host shell access. After patching you can also tune the new safety limits via dokku git:set --global archive-max-size and archive-max-files (defaults 1 GiB and 10000 entries) to constrain archive-bomb abuse, noting that overly tight values may reject legitimate large deployments. Review ~/.ssh/authorized_keys and other files writable by the dokku user for unexpected modifications, as this is the documented escalation target.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
Same weakness CWE-59 – Improper Link Resolution Before File Access
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39804