{"id":"CVE-2026-118485","kind":"vulnerability","aliases":["CVE-2026-118485"],"related":[],"title":"Axel download accelerator: crafted URLs write files outside the working directory","description":"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.","summary":"Axel 2.17.14 and earlier percent-decode the output filename after parsing a URL, so encoded ../ sequences turn into directory traversal. A crafted download URL can make axel write downloaded content to arbitrary paths relative to the current directory.","severity":"high","cvss":8.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["axel","ci","linux","package","scripts"],"not_affected_if":["no-untrusted-urls","other-download-tool"],"how_to_check":"- Run `axel --version` (or check the installed package version) and compare with the affected range `2.17.14` and earlier.\n- Review any scripts that run axel on URLs from untrusted sources, looking for use of the output filename option or default naming.","fix":"- Upgrade axel to a release newer than `2.17.14`; the sources do not name the fixed version, so check the upstream project for the patched release.\n- Until patched, do not feed axel URLs from untrusted sources, or run it inside a dedicated empty directory.","status":"open","published_at":"2026-10-28T12:17:40+00:00","first_seen_at":"2026-10-28T12:32:51+00:00","triaged_at":"2026-10-28T12:33:46+00:00","updated_at":"2026-10-28T12:33:46+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-28T12:33:46Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade axel to a release newer than `2.17.14`; the sources do not name the fixed version, so check the upstream project for the patched release.\n- Until patched, do not feed axel URLs from untrusted sources, or run it inside a dedicated empty directory.","reach":"internet","title":"Axel download accelerator: crafted URLs write files outside the working directory","impact":"high","summary":"Axel 2.17.14 and earlier percent-decode the output filename after parsing a URL, so encoded ../ sequences turn into directory traversal. A crafted download URL can make axel write downloaded content to arbitrary paths relative to the current directory.","category":"package","nicknames":[],"who_cares":["axel","linux","scripts","ci"],"confidence":0.6,"needs_auth":"no","worst_case":"Attacker overwrites arbitrary files writable by the user running axel.","analyst_note":"Confirm the fixed version and whether distro packages are patched; the NVD entry alone does not name a patch.","how_to_check":"- Run `axel --version` (or check the installed package version) and compare with the affected range `2.17.14` and earlier.\n- Review any scripts that run axel on URLs from untrusted sources, looking for use of the output filename option or default naming.","needs_analyst":true,"not_affected_if":["no-untrusted-urls","other-download-tool"],"who_is_affected":"Teams that run axel on URLs they do not fully control, such as download scripts, CI jobs or tools that fetch user-supplied links. Machines where axel is installed but never fed external URLs carry little practical exposure. The sources do not say which distributions package the affected versions.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.000643,"input_tokens":3414,"output_tokens":603,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-118485':14A,17A '-2026':13A,16A '2.17.14':24B,65C '2e':96C,97C '2f':98C 'acceler':3A,64C 'allow':91C 'arbitrari':55B,148C 'attack':93C 'axel':1A,18B,23B,50B,62C,142C 'caus':141C 'charact':118C 'ci':19B 'compon':88C 'contain':115C 'content':53B,146C 'craft':4A,45B,138C 'current':60B,154C 'cve':12A,15A 'decod':29B,72C,74C,121C 'directori':11A,42B,61B,123C,156C 'download':2A,46B,52B,63C,145C 'earlier':26B,67C 'emb':95C 'encod':38B,101C 'extract':89C 'file':7A,129C 'filenam':32B,78C,87C 'filesystem':149C 'http':73C 'intact':113C 'linux':20B 'liter':117C 'make':49B 'open':131C 'output':31B,77C,128C 'outsid':8A 'packag':21B 'pars':34B,84C 'parser':112C 'path':56B,106C,150C 'percent':28B,71C 'percent-decod':27B,70C 'perform':68C 'relat':57B,151C 'result':136C 'script':22B 'sequenc':39B,102C,108C,125C 'surviv':109C 'travers':43B,124C 'turn':40B 'url':5A,36B,47B,69C,81C,100C,105C,111C,139C 'url-encod':99C 'work':10A,155C 'write':6A,51B,133C,144C","nicknames":[],"mitigations":[],"who_affected":"Teams that run axel on URLs they do not fully control, such as download scripts, CI jobs or tools that fetch user-supplied links. Machines where axel is installed but never fed external URLs carry little practical exposure. The sources do not say which distributions package the affected versions.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T12:17:40+00:00","kev":null,"cvss_vector":"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"6064c9f1-42e5-4cc5-a67a-1636d7a9d3fd","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-118485","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118485","severity":null,"published_at":"2026-10-28T12:17:40+00:00","modified_at":"2026-10-28T12:17:40+00:00","first_seen_at":"2026-10-28T12:32:51+00:00","fetched_at":"2026-10-28T12:32:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}