{"id":"CVE-2026-126950","kind":"vulnerability","aliases":["CVE-2026-126950"],"related":[],"title":"Zipline: path traversal lets authenticated users delete arbitrary server files","description":"Zipline through 4.4.0 contains a path traversal vulnerability that allows authenticated attackers to delete arbitrary server files by injecting traversal sequences via the x-zipline-file-extension header. Attackers can upload a file with a poisoned stored name and short expiry so LocalDatasource deletion removes chosen files, causing denial of service or data loss.","summary":"Zipline through 4.4.0 trusts the x-zipline-file-extension header, so traversal sequences in it point file deletion at paths outside the upload directory. An attacker with an upload account can delete chosen files on the server, causing denial of service or data loss.","severity":"high","cvss":7.0,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"Zipline","fixed":[],"affected":"4.4.0 (NVD: through 4.4.0)","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["file-uploads","localdatasource","package","self-hosted","zipline"],"not_affected_if":["managed-hosting","no-untrusted-accounts"],"how_to_check":"- Run Zipline 4.4.0 (the version the advisory lists as affected; NVD says 'through 4.4.0')?\n- Check whether the instance uses the local datasource (the default filesystem storage; the advisory shows the unchecked delete in LocalDatasource).\n- Check whether untrusted users can hold accounts that upload files and set an expiry (x-zipline-deletes-at).","fix":"No patched version listed in the vendor advisory (Patched versions: None). Until a fix ships, restrict upload accounts to trusted users.","status":"open","published_at":"2026-11-13T10:18:02+00:00","first_seen_at":"2026-11-13T10:47:28+00:00","triaged_at":"2026-11-13T10:54:26+00:00","updated_at":"2026-11-13T10:55:18+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-13T10:54:26Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Zipline: path traversal lets authenticated users delete arbitrary server files","impact":"medium","summary":"Zipline through 4.4.0 trusts the x-zipline-file-extension header, so traversal sequences in it point file deletion at paths outside the upload directory. An attacker with an upload account can delete chosen files on the server, causing denial of service or data loss.","audience":"businesses","category":"package","nicknames":[],"who_cares":["zipline","self-hosted","file-uploads"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"Arbitrary server files deleted, causing denial of service or data loss.","analyst_note":"Find the fixed version and any setting workaround in the vendor advisory at github.com linked from the NVD entry; confirm whether the flaw depends on LocalDatasource.","how_to_check":"- Check the installed Zipline version against the vendor's advisory linked from the NVD entry.\n- Confirm whether untrusted users hold accounts that can upload files to the instance.\n- unknown","plain_action":"","product_name":"Zipline","needs_analyst":true,"not_affected_if":["no-untrusted-accounts","managed-hosting"],"who_is_affected":"Self-hosted Zipline instances that allow authenticated users to upload files are exposed, because the deletion path is built from a client-supplied header. Instances where only trusted administrators can log in can deprioritise this. The sources do not state whether the flaw is limited to the default LocalDatasource configuration.","user_interaction":"no","product_ecosystem":"vendor","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000758,"input_tokens":4612,"output_tokens":593,"severity_before":"high"},"analyst_status":"done","analyst_note":"Find the fixed version and any setting workaround in the vendor advisory at github.com linked from the NVD entry; confirm whether the flaw depends on LocalDatasource.","search":"'-126950':13A,16A '-2026':12A,15A '4.4.0':29B,74C 'account':57B 'allow':81C 'arbitrari':8A,86C 'attack':53B,83C,101C 'authent':5A,82C 'caus':65B,120C 'chosen':60B,118C 'contain':75C 'cve':11A,14A 'data':70B,125C 'delet':7A,45B,59B,85C,116C 'denial':66B,121C 'directori':51B 'expiri':113C 'extens':36B,99C 'file':10A,19B,35B,44B,61B,88C,98C,105C,119C 'file-upload':18B 'header':37B,100C 'host':25B 'inject':90C 'let':4A 'localdatasourc':21B,115C 'loss':71B,126C 'name':110C 'outsid':48B 'packag':22B 'path':2A,47B,77C 'point':43B 'poison':108C 'remov':117C 'self':24B 'self-host':23B 'sequenc':40B,92C 'server':9A,64B,87C 'servic':68B,123C 'short':112C 'store':109C 'travers':3A,39B,78C,91C 'trust':30B 'upload':20B,50B,56B,103C 'user':6A 'via':93C 'vulner':79C 'x':33B,96C 'x-zipline-file-extens':32B,95C 'ziplin':1A,26B,27B,34B,72C,97C 'zipline':17A","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Zipline 4.4.0 (NVD: through 4.4.0) where authenticated users can upload files and set an expiry. The vendor shows the unchecked delete in LocalDatasource and says any deployment using LocalDatasource, or any datasource whose delete does not constrain keys, is impacted. Instances where only trusted admins have accounts can skip it. CVSS v4 rates it with high privileges required.","tier":"B","verified":{"fix":{"at":"2026-11-13T10:55:18Z","by":"analyst","doc":"https://github.com/diced/zipline/security/advisories/GHSA-2wfm-prg7-x586","run_id":3871},"how_to_check":{"at":"2026-11-13T10:55:18Z","by":"analyst","doc":"https://github.com/diced/zipline/security/advisories/GHSA-2wfm-prg7-x586","run_id":3871},"who_affected":{"at":"2026-11-13T10:55:18Z","by":"analyst","doc":"https://github.com/diced/zipline/security/advisories/GHSA-2wfm-prg7-x586","run_id":3871}},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":["zipline"],"ptokens":["zipline"],"labels":["fileuploads","high","localdatasource","package","selfhosted","vendor","zipline"],"campaign_type":null,"search_a":"'-126950':13A,16A '-2026':12A,15A 'arbitrari':8A 'authent':5A 'cve':11A,14A 'delet':7A 'file':10A 'let':4A 'path':2A 'server':9A 'travers':3A 'user':6A 'ziplin':1A 'zipline':17A","search_b":"'4.4.0':29B 'account':57B 'attack':53B 'caus':65B 'chosen':60B 'data':70B 'delet':45B,59B 'denial':66B 'directori':51B 'extens':36B 'file':19B,35B,44B,61B 'file-upload':18B 'header':37B 'host':25B 'localdatasourc':21B 'loss':71B 'outsid':48B 'packag':22B 'path':47B 'point':43B 'self':24B 'self-host':23B 'sequenc':40B 'server':64B 'servic':68B 'travers':39B 'trust':30B 'upload':20B,50B,56B 'x':33B 'x-zipline-file-extens':32B 'ziplin':26B,27B,34B","search_c":"'4.4.0':74C 'allow':81C 'arbitrari':86C 'attack':83C,101C 'authent':82C 'caus':120C 'chosen':118C 'contain':75C 'data':125C 'delet':85C,116C 'denial':121C 'expiri':113C 'extens':99C 'file':88C,98C,105C,119C 'header':100C 'inject':90C 'localdatasourc':115C 'loss':126C 'name':110C 'path':77C 'poison':108C 'remov':117C 'sequenc':92C 'server':87C 'servic':123C 'short':112C 'store':109C 'travers':78C,91C 'upload':103C 'via':93C 'vulner':79C 'x':96C 'x-zipline-file-extens':95C 'ziplin':72C,97C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-01-20T01:11:38+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/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":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-126950","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126950","severity":null,"published_at":"2026-11-13T10:18:02+00:00","modified_at":"2026-11-13T10:18:02+00:00","first_seen_at":"2026-11-13T10:47:28+00:00","fetched_at":"2026-11-13T10:47:28+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-126950:3871","url":null,"severity":null,"published_at":"2026-11-13T10:55:18+00:00","modified_at":"2026-11-13T10:55:18+00:00","first_seen_at":"2026-11-13T10:55:18+00:00","fetched_at":"2026-11-13T10:55:18+00:00","note":"Read GHSA-2wfm-prg7-x586: affected 4.4.0, patched versions None. Flaw sits in LocalDatasource.delete (join without containment); advisory says any datasource that doesn't constrain keys is also affected. Needs upload + expiry."}],"documents":[{"id":145261,"url":"https://github.com/diced/zipline/security/advisories/GHSA-2wfm-prg7-x586","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-01-20T01:11:38+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":145262,"url":"https://www.vulncheck.com/advisories/zipline-through-4.4.0-path-traversal-arbitrary-file-delete-via-x-zipline-file-extension","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}