{"id":"CVE-2026-113505","kind":"vulnerability","aliases":["CVE-2026-113505"],"related":[],"title":"aaPanel: download endpoint path traversal reads files outside intended directory","description":"A flaw has been found in aaPanel up to 8.25.0. Impacted is the function send_file of the file BTPanel/routes/v2.py of the component Download Endpoint. Executing a manipulation of the argument filename can lead to path traversal. The attack can be executed remotely. The exploit has been published and may be used. The vendor confirms: \"The reported RCE and LFI vulnerabilities require authentication.\"","summary":"The send_file function in the Download Endpoint of aaPanel up to 8.25.0 does not properly sanitize the filename argument, enabling path traversal. An authenticated attacker can use it to read files outside the intended download directory.","severity":"medium","cvss":4.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["aapanel","linux-servers","runtime","self-hosted"],"not_affected_if":["auth-required","newer-version"],"how_to_check":"- Check the installed aaPanel version against `8.25.0` (the affected range is up to and including this version)\n- Review `BTPanel/routes/v2.py` in the install for the `send_file` handler and whether `filename` is sanitized","fix":null,"status":"open","published_at":"2026-10-20T17:17:34+00:00","first_seen_at":"2026-10-23T21:57:20+00:00","triaged_at":"2026-10-25T04:39:24+00:00","updated_at":"2026-10-25T04:39:24+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-25T04:39:24Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"aaPanel: download endpoint path traversal reads files outside intended directory","impact":"medium","summary":"The send_file function in the Download Endpoint of aaPanel up to 8.25.0 does not properly sanitize the filename argument, enabling path traversal. An authenticated attacker can use it to read files outside the intended download directory.","category":"runtime","nicknames":[],"who_cares":["aapanel","self-hosted","linux-servers"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker with panel login reads arbitrary server files","analyst_note":"Find the vendor advisory or fixed aaPanel release version and confirm whether the exploit is public and what files are readable.","how_to_check":"- Check the installed aaPanel version against `8.25.0` (the affected range is up to and including this version)\n- Review `BTPanel/routes/v2.py` in the install for the `send_file` handler and whether `filename` is sanitized","needs_analyst":true,"not_affected_if":["auth-required","newer-version"],"who_is_affected":"Servers running aaPanel 8.25.0 or earlier that expose its web panel. The vendor states the related issues require authentication, so exposure depends on who holds panel credentials. unknown whether a patched release exists in the sources.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000582,"input_tokens":3337,"output_tokens":496,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-113505':13A,16A '-2026':12A,15A '8.25.0':37B,71C 'aapanel':1A,17B,34B,68C 'argument':44B,92C 'attack':50B,100C 'authent':49B,124C 'btpanel/routes/v2.py':81C 'compon':84C 'confirm':116C 'cve':11A,14A 'directori':10A,61B 'download':2A,31B,60B,85C 'enabl':45B 'endpoint':3A,32B,86C 'execut':87C,103C 'exploit':106C 'file':7A,27B,56B,77C,80C 'filenam':43B,93C 'flaw':63C 'found':66C 'function':28B,75C 'host':24B 'impact':72C 'intend':9A,59B 'lead':95C 'lfi':121C 'linux':19B 'linux-serv':18B 'manipul':89C 'may':111C 'outsid':8A,57B 'path':4A,46B,97C 'proper':40B 'publish':109C 'rce':119C 'read':6A,55B 'remot':104C 'report':118C 'requir':123C 'runtim':21B 'sanit':41B 'self':23B 'self-host':22B 'send':26B,76C 'server':20B 'travers':5A,47B,98C 'use':52B,113C 'vendor':115C 'vulner':122C","nicknames":[],"mitigations":[],"who_affected":"Servers running aaPanel 8.25.0 or earlier that expose its web panel. The vendor states the related issues require authentication, so exposure depends on who holds panel credentials. unknown whether a patched release exists in the sources.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-20T17:17:34+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/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":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-113505","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113505","severity":null,"published_at":"2026-10-20T17:17:34+00:00","modified_at":"2026-10-21T16:17:23+00:00","first_seen_at":"2026-10-23T21:57:20+00:00","fetched_at":"2026-10-23T22:28:58+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"}