{"id":"CVE-2026-126951","kind":"vulnerability","aliases":["CVE-2026-126951"],"related":[],"title":"Zipline: path traversal lets logged-in users read arbitrary server files","description":"Zipline through 4.4.0 contains a path traversal vulnerability that allows authenticated users to read arbitrary server files by abusing a fallback treating the :id parameter as a datasource key. Attackers can send encoded traversal sequences in the :id of GET /api/user/files/:id/raw to escape the Local datasource uploads directory and read files like /etc/shadow.","summary":"Zipline through 4.4.0 has a path traversal flaw in GET /api/user/files/:id/raw that treats the id as a datasource key when a fallback applies. An authenticated user can send encoded traversal sequences to escape the uploads directory and read files such as /etc/shadow.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","zipline"],"not_affected_if":["auth-required","managed-hosting"],"how_to_check":"- Check the installed Zipline version against the `4.4.0` range in the sources.\n- Confirm whether the Local datasource is in use for uploads.","fix":null,"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:39+00:00","updated_at":"2026-11-13T10:54:39+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-13T10:54:39Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Zipline: path traversal lets logged-in users read arbitrary server files","impact":"medium","summary":"Zipline through 4.4.0 has a path traversal flaw in GET /api/user/files/:id/raw that treats the id as a datasource key when a fallback applies. An authenticated user can send encoded traversal sequences to escape the uploads directory and read files such as /etc/shadow.","audience":"businesses","category":"package","nicknames":[],"who_cares":["zipline","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"server files readable by any logged-in user, including secrets","analyst_note":"Confirm the fixed version and the vendor advisory at github.com; the sources give no fix version.","how_to_check":"- Check the installed Zipline version against the `4.4.0` range in the sources.\n- Confirm whether the Local datasource is in use for uploads.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["managed-hosting","auth-required"],"who_is_affected":"Self-hosted Zipline instances at version 4.4.0 or earlier are exposed when a logged-in user can call the raw file endpoint. Attackers need an account first, and the flaw reads files from the server's filesystem through the Local datasource path. Instances that run only as a managed service, or that do not allow user accounts, can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000735,"input_tokens":4619,"output_tokens":547,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-126951':15A,18A '-2026':14A,17A '/api/user/files':34B,107C '/etc/shadow':66B,120C '4.4.0':26B,69C 'abus':85C 'allow':76C 'appli':47B 'arbitrari':10A,81C 'attack':96C 'authent':49B,77C 'contain':70C 'cve':13A,16A 'datasourc':42B,94C,113C 'directori':60B,115C 'encod':53B,99C 'escap':57B,110C 'fallback':46B,87C 'file':12A,63B,83C,118C 'flaw':31B 'get':33B,106C 'host':22B 'id':39B,90C,104C 'id/raw':35B,108C 'key':43B,95C 'let':4A 'like':119C 'local':112C 'log':6A 'logged-in':5A 'packag':19B 'paramet':91C 'path':2A,29B,72C 'read':9A,62B,80C,117C 'self':21B 'self-host':20B 'send':52B,98C 'sequenc':55B,101C 'server':11A,82C 'travers':3A,30B,54B,73C,100C 'treat':37B,88C 'upload':59B,114C 'user':8A,50B,78C 'vulner':74C 'ziplin':1A,23B,24B,67C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Zipline instances at version 4.4.0 or earlier are exposed when a logged-in user can call the raw file endpoint. Attackers need an account first, and the flaw reads files from the server's filesystem through the Local datasource path. Instances that run only as a managed service, or that do not allow user accounts, can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","selfhosted","zipline"],"campaign_type":null,"search_a":"'-126951':15A,18A '-2026':14A,17A 'arbitrari':10A 'cve':13A,16A 'file':12A 'let':4A 'log':6A 'logged-in':5A 'path':2A 'read':9A 'server':11A 'travers':3A 'user':8A 'ziplin':1A","search_b":"'/api/user/files':34B '/etc/shadow':66B '4.4.0':26B 'appli':47B 'authent':49B 'datasourc':42B 'directori':60B 'encod':53B 'escap':57B 'fallback':46B 'file':63B 'flaw':31B 'get':33B 'host':22B 'id':39B 'id/raw':35B 'key':43B 'packag':19B 'path':29B 'read':62B 'self':21B 'self-host':20B 'send':52B 'sequenc':55B 'travers':30B,54B 'treat':37B 'upload':59B 'user':50B 'ziplin':23B,24B","search_c":"'/api/user/files':107C '/etc/shadow':120C '4.4.0':69C 'abus':85C 'allow':76C 'arbitrari':81C 'attack':96C 'authent':77C 'contain':70C 'datasourc':94C,113C 'directori':115C 'encod':99C 'escap':110C 'fallback':87C 'file':83C,118C 'get':106C 'id':90C,104C 'id/raw':108C 'key':95C 'like':119C 'local':112C 'paramet':91C 'path':72C 'read':80C,117C 'send':98C 'sequenc':101C 'server':82C 'travers':73C,100C 'treat':88C 'upload':114C 'user':78C 'vulner':74C 'ziplin':67C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-01-20T01:11:43+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/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-126951","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126951","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}],"documents":[{"id":145263,"url":"https://github.com/diced/zipline/security/advisories/GHSA-8xjg-qm2p-75gm","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-01-20T01:11:43+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":145264,"url":"https://www.vulncheck.com/advisories/zipline-through-4.4.0-authenticated-path-traversal-via-api-user-files-id-raw","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"}