{"id":"CVE-2024-6829","kind":"vulnerability","aliases":["CVE-2024-6829","GHSA-75px-35p4-qq6h"],"related":[],"title":"Aim External Control of File Name or Path vulnerability","description":"A vulnerability in aimhubio/aim version 3.19.3 allows an attacker to exploit the `tarfile.extractall()` function to extract the contents of a maliciously crafted tarfile to arbitrary locations on the host server. The attacker can control `repo.path` and `run_hash` to bypass directory existence checks and extract files to unintended locations, potentially overwriting critical files. This can lead to arbitrary data being written to arbitrary locations on the remote tracking server, which could be used for further attacks such as writing a new SSH key to the target server.","summary":"The Aim Python package extracts uploaded tar archives with tarfile.extractall() without checking member paths, so a crafted archive can place files outside the intended directory. An attacker can overwrite critical files on the tracking server, for example by adding an SSH key for code execution.","severity":"critical","cvss":9.1,"epss":0.00884,"exploited":false,"exploited_at":null,"products":[{"name":"aim","fixed":[],"affected":"<= 3.19.3","ecosystem":"pypi"},{"name":"aimstack aim","fixed":[],"affected":"= 3.19.3","ecosystem":"vendor"}],"ecosystems":["pypi","vendor"],"tags":["aim","cwe-73","package","python","self-hosted"],"not_affected_if":["local-only-use","newer-version"],"how_to_check":"- Run `pip show aim` and compare the version against `3.19.3`\n- Check whether the tracking server is reachable from untrusted networks and accepts remote run uploads","fix":"- Upgrade `aim` to a version newer than `3.19.3`; the fixed version is unknown from the sources\n- Restrict network access to the Aim tracking server until upgraded","status":"open","published_at":"2025-03-20T10:15:33+00:00","first_seen_at":"2026-10-26T21:21:58+00:00","triaged_at":"2026-10-26T21:31:58+00:00","updated_at":"2026-10-26T21:55:22+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-26T21:31:58Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade `aim` to a version newer than `3.19.3`; the fixed version is unknown from the sources\n- Restrict network access to the Aim tracking server until upgraded","reach":"network","title":"Aim: crafted tarfile extraction writes files to arbitrary host paths","impact":"high","summary":"The Aim Python package extracts uploaded tar archives with tarfile.extractall() without checking member paths, so a crafted archive can place files outside the intended directory. An attacker can overwrite critical files on the tracking server, for example by adding an SSH key for code execution.","category":"package","nicknames":[],"who_cares":["python","self-hosted","aim"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker writes arbitrary files on the tracking server, possibly gaining code execution","analyst_note":"Find the fixed version and whether the upload endpoint needs authentication, via https://github.com/advisories/GHSA-75px-35p4-qq6h","how_to_check":"- Run `pip show aim` and compare the version against `3.19.3`\n- Check whether the tracking server is reachable from untrusted networks and accepts remote run uploads","needs_analyst":true,"not_affected_if":["local-only-use","newer-version"],"who_is_affected":"Teams running the Aim tracking server (aimhubio/aim) at version 3.19.3 or earlier, especially where the server accepts repository or run uploads from others. Installs where the server is only used locally by one trusted user are less exposed.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000625,"input_tokens":3430,"output_tokens":565,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2024':11A,19A '-6829':12A,20A '-73':26B '3.19.3':82C '35p4':16A '75px':15A 'add':70B 'aim':1A,21A,23A,24B,33B 'aimhubio/aim':80C 'aimstack':22A 'allow':83C 'arbitrari':101C,134C,139C 'archiv':39B,49B 'attack':58B,85C,108C,152C 'bypass':116C 'check':43B,119C 'code':75B 'content':94C 'control':3A,110C 'could':147C 'craft':48B,98C 'critic':61B,128C 'cve':10A,18A 'cwe':25B 'data':135C 'directori':56B,117C 'exampl':68B 'execut':76B 'exist':118C 'exploit':87C 'extern':2A 'extract':36B,92C,121C 'file':5A,52B,62B,122C,129C 'function':90C 'ghsa':14A 'ghsa-75px-35p4-qq6h':13A 'hash':114C 'host':31B,105C 'intend':55B 'key':73B,159C 'lead':132C 'locat':102C,125C,140C 'malici':97C 'member':44B 'name':6A 'new':157C 'outsid':53B 'overwrit':60B,127C 'packag':27B,35B 'path':8A,45B 'place':51B 'potenti':126C 'python':28B,34B 'qq6h':17A 'remot':143C 'repo.path':111C 'run':113C 'self':30B 'self-host':29B 'server':66B,106C,145C,163C 'ssh':72B,158C 'tar':38B 'tarfil':99C 'tarfile.extractall':41B,89C 'target':162C 'track':65B,144C 'unintend':124C 'upload':37B 'use':149C 'version':81C 'vulner':9A,78C 'without':42B 'write':155C 'written':137C","nicknames":[],"mitigations":[],"who_affected":"Teams running the Aim tracking server (aimhubio/aim) at version 3.19.3 or earlier, especially where the server accepts repository or run uploads from others. Installs where the server is only used locally by one trusted user are less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2025-03-20T10:15:33+00:00","kev":null,"cvss_vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-75px-35p4-qq6h","url":"https://github.com/advisories/GHSA-75px-35p4-qq6h","severity":"critical","published_at":"2025-03-20T12:32:45+00:00","modified_at":"2026-10-26T21:18:08+00:00","first_seen_at":"2026-10-26T21:21:58+00:00","fetched_at":"2026-10-26T21:21:58+00:00","note":null},{"source":"nvd","external_id":"CVE-2024-6829","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-6829","severity":null,"published_at":"2025-03-20T10:15:33+00:00","modified_at":"2026-06-17T08:18:47+00:00","first_seen_at":"2026-10-26T21:55:22+00:00","fetched_at":"2026-10-26T21:55:22+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"}