Axel Download Accelerator Path Traversal via URL Filename Decoding
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.
- Products
- Axel
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-118485
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 1 Nov 2026, 04:25 UTC · Revision 1
Source evidence
Axel Download Accelerator Path Traversal via URL Filename Decoding
core-cve · Original sourcePublished 28 Oct 2026, 11:26 UTC
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.
cve:CVE-2026-118485
Axel
Fixed versions: Not specified
Complete source record
{
"id": "d15affa69297d413657a04d785dfa8bbe784ef02ee6eea190826e3f79bbaca2e",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-118485",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Axel Download Accelerator Path Traversal via URL Filename Decoding",
"summary": "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.",
"evidence": "cve:CVE-2026-118485",
"products": [
{
"name": {
"value": "Axel",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-118485",
"aliases": [
"CVE-2026-118485"
],
"metrics": [
{
"format": "CVSS",
"cvssV4_0": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 7,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"valueDensity": "NOT_DEFINED",
"vectorString": "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",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "ACTIVE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"format": "CVSS",
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.1,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"affected": [
{
"repo": "https://github.com/axel-download-accelerator/axel/",
"vendor": "Axel Download Accelerator",
"product": "Axel",
"versions": [
{
"status": "affected",
"version": "0",
"versionType": "git",
"lessThanOrEqual": "2.17.14"
}
],
"defaultStatus": "unaffected"
}
],
"modified": "2026-10-28T11:26:59.053Z",
"provider": "cve",
"references": [
"https://github.com/axel-download-accelerator/axel/issues/477",
"https://github.com/axel-download-accelerator/axel/pull/483/changes/4e76e1a1dd1c4ea11b445e2c45e4ee257c76314e",
"https://github.com/axel-download-accelerator/axel/milestone/22",
"https://advisories.orangecyberdefense.com/advisories/167"
],
"provider_metadata": {
"cna": {
"orgId": "6064c9f1-42e5-4cc5-a67a-1636d7a9d3fd",
"shortName": "OCD",
"dateUpdated": "2026-10-28T11:26:59.053Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-118485",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": "/containers/cna/metrics"
},
"source_id": "core-cve",
"document_id": 429753,
"published_at": "2026-10-28T11:26:59.053+00:00"
}