Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft URL embedding %2e%2e%2f traversal sequences
-
ExploitLure victim to run axel on the URL
-
ExecutionSequences survive parser then decode to ../ before file open
-
ImpactOverwrite arbitrary file relative to CWD as the user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path traversal prevention
|
| Exploitation Conditions | Exploitation requires that a user invoke axel against an attacker-supplied or attacker-influenced URL (CVSS UI:A - active interaction), where the URL path contains percent-encoded traversal such as %2e%2e%2f; no non-default configuration or feature toggle is needed, as this is the default output-filename handling in Axel 2.17.14 and earlier. Written paths are resolved relative to axel's current working directory, so the attack escapes upward via ../ rather than writing to absolute paths, and impact is bounded by the filesystem privileges of the user running axel. Limiting factors: the victim must actually launch the download (reducing fully unattended exploitation), confidentiality is not affected (write-only primitive), and reach depends on what is writable relative to the invoking CWD. |
| Impact | This is a genuine but moderate-priority issue, not a drop-everything emergency. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A, VC:N/VI:H/VA:H) scores 7.0 (High): the flaw is reachable over the network with low complexity and no privileges, but it requires active user interaction (UI:A) - the victim must actually invoke axel against an attacker-influenced URL. Impact is integrity/availability only (arbitrary file write that can overwrite data) with no confidentiality exposure (VC:N), which matches the source diff showing output-filename handling. No EPSS probability and no KEV status were provided in the input, so widespread or automated exploitation cannot be asserted either way; absence of those feeds is a data gap, not evidence of low risk. The vendor priority label is 'this_week', consistent with a patchable High-severity flaw rather than act_now/emergency. No standalone weaponized exploit is referenced; however, the vendor fix PR includes a regression test that publicly demonstrates the %2e%2e%2f traversal mechanism, so the technique is not secret. Net: real and worth patching this week, but the user-interaction requirement and write-relative-to-CWD scope keep it below the tier of remotely-wormable server bugs. |
| Exploit ScenarioDerived | An attacker hosts or advertises a download link such as http://attacker/%2e%2e%2f%2e%2e%2f.bashrc; the percent-encoded sequences survive axel's URL parser because they contain no literal slashes, then http_decode() turns them into ../ before the output file is opened. When a victim runs axel on that URL, downloaded content is written to a traversed path relative to the current working directory, overwriting files with the victim's privileges. No weaponized exploit is referenced, but the vendor's fix PR ships a regression test that demonstrates the exact decode-to-traversal behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Path traversal in Axel Download Accelerator 2.17.14 and earlier lets a crafted download URL write the retrieved file outside the intended output directory - anywhere writable relative to axel's current working directory - because the filename is percent-decoded only after the URL has been parsed. The flaw is unauthenticated (PR:N) but requires the victim to actively launch a download against an attacker-influenced URL (UI:A), and confidentiality is unaffected since the primitive is write-only; integrity and availability impacts are High. No public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and the vendor has an upstream fix in PR 483, but a tagged patched release is not independently confirmed.
RemediationAI
Apply the upstream fix carried in PR 483 (commit 4e76e1a1dd1c4ea11b445e2c45e4ee257c76314e, https://github.com/axel-download-accelerator/axel/pull/483/changes/4e76e1a1dd1c4ea11b445e2c45e4ee257c76314e), which replaces the post-parse http_decode() of the extracted filename with conn_output_filename() so that the decoded path is reduced to its final component before any file is opened; the change is queued under milestone 22 (https://github.com/axel-download-accelerator/axel/milestone/22). Patch status is 'Upstream fix available (PR/commit); released patched version not independently confirmed' - the sources do not name a tagged release containing the fix, so distributions and packagers should verify that their shipped axel build includes commit 4e76e1a or backport it, and users should check the Orange Cyberdefense advisory (https://advisories.orangecyberdefense.com/advisories/167) and issue 477 for the version that carries the fix. Where the update cannot be applied immediately, exposure can be reduced by never passing attacker-supplied or unreviewed URLs to axel, and by running axel under a low-privilege account from a disposable or empty working directory, since written paths resolve relative to axel's current working directory - this bounds where traversal can land but does not remove the flaw. The regression tests added in the PR (tests/test-path-traversal.sh) can be used to confirm that a rebuilt binary rejects encoded traversal in the output filename.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Axel is a lightweight command-line HTTP/FTP download accelerator; its conn_set() parser splits a URL into conn->dir and conn->file, and axel_new() previously copied conn->file into axel->filename and then called http_decode() on it. Because decoding happened after parsing, an encoded sequence such as %2e%2e%2f contains no literal '/' and therefore survives filename extraction intact, only to be turned into '../' at the point the output path is opened for writing - the classic CWE-24 'Path Traversal: ../filedir' mistake of decoding untrusted input too late. Decoding is single-pass, so double-encoded input (%252e%252e%252f) remains the literal string %2e%2e%2f and is not traversal, which bounds the attack surface to a single encoding level. The upstream patch introduces conn_output_filename() in src/conn.c, which concatenates conn->dir and conn->file, decodes the combined path, strips trailing slashes, and then reduces the result to its final path component via strrchr() before copying into the destination buffer, so no decoded separators can escape the output directory; the PR ships a regression harness (tests/test-path-traversal.c and tests/test-path-traversal.sh) covering %2e%2e%2fpwned.txt, double-encoding, embedded %2f and trailing %2f cases.
Know when Axel gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Remote attacker-crafted URL (AV:N/AC:L/PR:N) but the victim must run axel on it (UI:R); arbitrary file write gives I:H and A:H with no read primitive, so C:N.
Primary rating from Vendor (OCD).
CVSS VectorVendor: OCD
DescriptionCVE.org
Axel Download Accelerator 2.17.14 and earlier performs URL percent-decoding (http_decode()) on the output filename after the URL has been parsed and the filename component extracted. This allows an attacker to embed %2e%2e%2f (URL-encoded ../) sequences in the URL path. These sequences survive the URL parser intact (they contain no literal / characters) but are decoded into directory traversal sequences before the output file is opened for writing. As a result, a crafted URL can cause axel to write downloaded content to arbitrary filesystem paths relative to the current working directory.
Executive ViewAI
A path traversal vulnerability in Axel Download Accelerator, a tool used by technical staff for high-speed downloads, could allow an attacker to write files to unintended locations when a user initiates a download from a crafted URL. This threatens the integrity of systems where Axel is deployed and could disrupt availability, requiring user interaction but no authentication. Leadership should prioritize remediation because affected systems may be exposed to data tampering or operational disruption if users are tricked into downloading malicious URLs.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
EUVD-2026-112024
GHSA-gww9-3rx9-535x
NVD
CVE.org
Exploit-DB