{"id":"CVE-2026-126949","kind":"vulnerability","aliases":["CVE-2026-126949"],"related":[],"title":"Zipline: file rename path traversal lets users overwrite other uploads","description":"Zipline through 4.4.0 contains a path traversal vulnerability in the PATCH /api/user/files/:id rename endpoint that allows authenticated users to overwrite existing uploads by supplying unsanitized names. Attackers can submit names like ../uploads/victim.txt that bypass the raw-string database uniqueness check but normalize via path.join(), causing fs.rename() to replace other files' contents.","summary":"Zipline through 4.4.0 fails to sanitize file names in its PATCH /api/user/files/:id rename endpoint. An authenticated user can submit a name such as ../uploads/victim.txt to overwrite other users' uploaded files.","severity":"high","cvss":7.0,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"Zipline","fixed":[],"affected":"4.4.0 (advisory); NVD: through 4.4.0","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["local-datasource","package","path-traversal","self-hosted","zipline"],"not_affected_if":["no-untrusted-users","s3-datasource","single-user"],"how_to_check":"Run Zipline 4.4.0 or earlier with the Local datasource (DATASOURCE_TYPE=local, uploads on disk)? Then you are in scope. Check the version under Dashboard > About or the image tag. S3 storage is not covered by the advisory's PoC. Also check later versions: the advisory lists only 4.4.0 and the release notes do not say whether the rename path was fixed.","fix":"The advisory GHSA-rw9m-7mvm-6gxp (Jan 20, 2026) lists no patched version. Releases up to v4.8.3 (Nov 8) do not name this bug in their notes, so a fix is unconfirmed. Until one is confirmed, limit who can sign in and rename files.","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:22+00:00","category":"package","confidence":0.75,"triage":{"at":"2026-11-13T10:54:26Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Zipline: file rename path traversal lets users overwrite other uploads","impact":"medium","summary":"Zipline through 4.4.0 fails to sanitize file names in its PATCH /api/user/files/:id rename endpoint. An authenticated user can submit a name such as ../uploads/victim.txt to overwrite other users' uploaded files.","audience":"businesses","category":"package","nicknames":[],"who_cares":["zipline","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"yes","worst_case":"other users' uploaded files get overwritten with attacker content","analyst_note":"Find the fixed Zipline version and the vendor advisory at github.com for the fix and check steps.","how_to_check":"unknown","plain_action":"","product_name":"Zipline","needs_analyst":true,"not_affected_if":["no-untrusted-users"],"who_is_affected":"Teams that self-host Zipline 4.4.0 or earlier and let user accounts rename their uploads are exposed. Instances where only administrators can upload, or that run a version newer than 4.4.0 with the fix, can skip it. The sources do not state the fixed version.","user_interaction":"no","product_ecosystem":"vendor","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000699,"input_tokens":4638,"output_tokens":470,"severity_before":"high"},"analyst_status":"done","analyst_note":"Find the fixed Zipline version and the vendor advisory at github.com for the fix and check steps.","search":"'-126949':13A,16A '-2026':12A,15A '/api/user/files':40B,71C '/uploads/victim.txt':53B,92C '4.4.0':31B,62C 'allow':76C 'attack':87C 'authent':45B,77C 'bypass':94C 'caus':106C 'check':101C 'contain':63C 'content':112C 'cve':11A,14A 'databas':99C 'datasourc':20B 'endpoint':43B,74C 'exist':81C 'fail':32B 'file':2A,35B,59B,111C 'fs.rename':107C 'host':27B 'id':41B,72C 'let':6A 'like':91C 'local':19B 'local-datasourc':18B 'name':36B,50B,86C,90C 'normal':103C 'overwrit':8A,55B,80C 'packag':21B 'patch':39B,70C 'path':4A,23B,65C 'path-travers':22B 'path.join':105C 'raw':97C 'raw-str':96C 'renam':3A,42B,73C 'replac':109C 'sanit':34B 'self':26B 'self-host':25B 'string':98C 'submit':48B,89C 'suppli':84C 'travers':5A,24B,66C 'uniqu':100C 'unsanit':85C 'upload':10A,58B,82C 'user':7A,46B,57B,78C 'via':104C 'vulner':67C 'ziplin':1A,28B,29B,60C 'zipline':17A","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Zipline 4.4.0 or earlier that stores uploads on the Local filesystem datasource and has more than one authenticated user. Any user who can rename files can overwrite another user's upload by renaming their own file to ../uploads/<victim name>. Single-user instances, or ones where every account is trusted, can mostly skip it. The advisory names no patched version.","tier":"B","verified":{"fix":{"at":"2026-11-13T10:55:22Z","by":"analyst","doc":"https://github.com/diced/zipline/security/advisories/GHSA-rw9m-7mvm-6gxp","run_id":3872},"products":{"at":"2026-11-13T10:55:22Z","by":"analyst","doc":"https://github.com/diced/zipline/security/advisories/GHSA-rw9m-7mvm-6gxp","run_id":3872},"who_affected":{"at":"2026-11-13T10:55:22Z","by":"analyst","doc":"https://github.com/diced/zipline/security/advisories/GHSA-rw9m-7mvm-6gxp","run_id":3872}},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":["zipline"],"ptokens":["zipline"],"labels":["high","localdatasource","package","pathtraversal","selfhosted","vendor","zipline"],"campaign_type":null,"search_a":"'-126949':13A,16A '-2026':12A,15A 'cve':11A,14A 'file':2A 'let':6A 'overwrit':8A 'path':4A 'renam':3A 'travers':5A 'upload':10A 'user':7A 'ziplin':1A 'zipline':17A","search_b":"'/api/user/files':40B '/uploads/victim.txt':53B '4.4.0':31B 'authent':45B 'datasourc':20B 'endpoint':43B 'fail':32B 'file':35B,59B 'host':27B 'id':41B 'local':19B 'local-datasourc':18B 'name':36B,50B 'overwrit':55B 'packag':21B 'patch':39B 'path':23B 'path-travers':22B 'renam':42B 'sanit':34B 'self':26B 'self-host':25B 'submit':48B 'travers':24B 'upload':58B 'user':46B,57B 'ziplin':28B,29B","search_c":"'/api/user/files':71C '/uploads/victim.txt':92C '4.4.0':62C 'allow':76C 'attack':87C 'authent':77C 'bypass':94C 'caus':106C 'check':101C 'contain':63C 'content':112C 'databas':99C 'endpoint':74C 'exist':81C 'file':111C 'fs.rename':107C 'id':72C 'like':91C 'name':86C,90C 'normal':103C 'overwrit':80C 'patch':70C 'path':65C 'path.join':105C 'raw':97C 'raw-str':96C 'renam':73C 'replac':109C 'string':98C 'submit':89C 'suppli':84C 'travers':66C 'uniqu':100C 'unsanit':85C 'upload':82C 'user':78C 'via':104C 'vulner':67C 'ziplin':60C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-01-20T01:11:31+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:L/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-126949","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126949","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-126949:3872","url":null,"severity":null,"published_at":"2026-11-13T10:55:22+00:00","modified_at":"2026-11-13T10:55:22+00:00","first_seen_at":"2026-11-13T10:55:22+00:00","fetched_at":"2026-11-13T10:55:22+00:00","note":"Read GHSA-rw9m-7mvm-6gxp: affected 4.4.0, patched none, PoC in advisory (no separate PoC link), requires an authenticated user with high privileges per CVSS 4.0 (PR:H). The 4.8.x release notes do not mention this fix. Not exploited as far as known. No social search done (tier B)."}],"documents":[{"id":145259,"url":"https://github.com/diced/zipline/security/advisories/GHSA-rw9m-7mvm-6gxp","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-01-20T01:11:31+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":145260,"url":"https://www.vulncheck.com/advisories/zipline-through-4.4.0-path-traversal-file-overwrite-via-patch-api-user-files-id","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"}