{"id":"CVE-2026-126934","kind":"vulnerability","aliases":["CVE-2026-126934"],"related":[],"title":"Zipline: spoofed X-Forwarded-For header bypasses login rate limits","description":"Zipline 4.3.2 before 4.8.0 contains a rate limit bypass vulnerability that allows unauthenticated attackers to evade throttling by spoofing X-Forwarded-For headers when core.trustProxy is enabled. Attackers can send a different X-Forwarded-For value per request to obtain fresh rate-limit buckets, enabling unlimited guessing of login passwords, TOTP codes, and file and URL passwords.","summary":"Zipline is a self-hosted file-sharing server. When core.trustProxy is enabled, an unauthenticated attacker can rotate the X-Forwarded-For header per request to get fresh rate-limit buckets, allowing unlimited guessing of login passwords, TOTP codes, and file or URL passwords.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"Zipline","fixed":[],"affected":"","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["other","reverse-proxy","self-hosted","zipline"],"not_affected_if":["trustproxy-disabled","version-outside-range"],"how_to_check":"- Check whether `core.trustProxy` is enabled in the Zipline configuration\n- Check the installed Zipline version; affected versions are `4.3.2` up to but not including `4.8.0`","fix":"- Move to Zipline `4.8.0` or later","status":"open","published_at":"2026-11-11T23:17:23+00:00","first_seen_at":"2026-11-11T23:29:41+00:00","triaged_at":"2026-11-11T23:31:20+00:00","updated_at":"2026-11-11T23:31:20+00:00","category":"other","confidence":0.7,"triage":{"at":"2026-11-11T23:31:20Z","model":"claude-haiku-5-5","output":{"fix":"- Move to Zipline `4.8.0` or later","reach":"internet","title":"Zipline: spoofed X-Forwarded-For header bypasses login rate limits","impact":"medium","summary":"Zipline is a self-hosted file-sharing server. When core.trustProxy is enabled, an unauthenticated attacker can rotate the X-Forwarded-For header per request to get fresh rate-limit buckets, allowing unlimited guessing of login passwords, TOTP codes, and file or URL passwords.","audience":"businesses","category":"other","nicknames":[],"who_cares":["self-hosted","zipline","reverse-proxy"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"attacker brute-forces logins, TOTP codes and file passwords","analyst_note":"","how_to_check":"- Check whether `core.trustProxy` is enabled in the Zipline configuration\n- Check the installed Zipline version; affected versions are `4.3.2` up to but not including `4.8.0`","plain_action":"","product_name":"Zipline","needs_analyst":false,"not_affected_if":["trustproxy-disabled","version-outside-range"],"who_is_affected":"Teams that self-host Zipline 4.3.2 through 4.8.0 behind a reverse proxy with core.trustProxy enabled are exposed, because the rate limiter then trusts client-supplied X-Forwarded-For values. Instances with trustProxy disabled, or deployments that do not run Zipline 4.3.2 to 4.8.0, are not affected by this flaw.","user_interaction":"no","product_ecosystem":"vendor","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000769,"input_tokens":4681,"output_tokens":602,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-126934':14A,17A '-2026':13A,16A '4.3.2':75C '4.8.0':77C 'allow':61B,85C 'attack':43B,87C,102C 'bucket':60B,120C 'bypass':8A,82C 'code':68B,128C 'contain':78C 'core.trustproxy':38B,99C 'cve':12A,15A 'differ':106C 'enabl':40B,101C,121C 'evad':89C 'file':34B,70B,130C 'file-shar':33B 'forward':5A,49B,95C,109C 'fresh':56B,116C 'get':55B 'guess':63B,123C 'header':7A,51B,97C 'host':25B,32B 'limit':11A,59B,81C,119C 'login':9A,65B,125C 'obtain':115C 'password':66B,73B,126C,133C 'per':52B,112C 'proxi':22B 'rate':10A,58B,80C,118C 'rate-limit':57B,117C 'request':53B,113C 'revers':21B 'reverse-proxi':20B 'rotat':45B 'self':24B,31B 'self-host':23B,30B 'send':104C 'server':36B 'share':35B 'spoof':2A,92C 'throttl':90C 'totp':67B,127C 'unauthent':42B,86C 'unlimit':62B,122C 'url':72B,132C 'valu':111C 'vulner':83C 'x':4A,48B,94C,108C 'x-forwarded-for':3A,47B,93C,107C 'ziplin':1A,26B,27B,74C 'zipline':18A","nicknames":[],"mitigations":[],"who_affected":"Teams that self-host Zipline 4.3.2 through 4.8.0 behind a reverse proxy with core.trustProxy enabled are exposed, because the rate limiter then trusts client-supplied X-Forwarded-For values. Instances with trustProxy disabled, or deployments that do not run Zipline 4.3.2 to 4.8.0, are not affected by this flaw.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["zipline"],"ptokens":["zipline"],"labels":["medium","other","reverseproxy","selfhosted","vendor","zipline"],"campaign_type":null,"search_a":"'-126934':14A,17A '-2026':13A,16A 'bypass':8A 'cve':12A,15A 'forward':5A 'header':7A 'limit':11A 'login':9A 'rate':10A 'spoof':2A 'x':4A 'x-forwarded-for':3A 'ziplin':1A 'zipline':18A","search_b":"'allow':61B 'attack':43B 'bucket':60B 'code':68B 'core.trustproxy':38B 'enabl':40B 'file':34B,70B 'file-shar':33B 'forward':49B 'fresh':56B 'get':55B 'guess':63B 'header':51B 'host':25B,32B 'limit':59B 'login':65B 'password':66B,73B 'per':52B 'proxi':22B 'rate':58B 'rate-limit':57B 'request':53B 'revers':21B 'reverse-proxi':20B 'rotat':45B 'self':24B,31B 'self-host':23B,30B 'server':36B 'share':35B 'totp':67B 'unauthent':42B 'unlimit':62B 'url':72B 'x':48B 'x-forwarded-for':47B 'ziplin':26B,27B","search_c":"'4.3.2':75C '4.8.0':77C 'allow':85C 'attack':87C,102C 'bucket':120C 'bypass':82C 'code':128C 'contain':78C 'core.trustproxy':99C 'differ':106C 'enabl':101C,121C 'evad':89C 'file':130C 'forward':95C,109C 'fresh':116C 'guess':123C 'header':97C 'limit':81C,119C 'login':125C 'obtain':115C 'password':126C,133C 'per':112C 'rate':80C,118C 'rate-limit':117C 'request':113C 'send':104C 'spoof':92C 'throttl':90C 'totp':127C 'unauthent':86C 'unlimit':122C 'url':132C 'valu':111C 'vulner':83C 'x':94C,108C 'x-forwarded-for':93C,107C 'ziplin':74C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-09-27T23:13:25+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/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-126934","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126934","severity":null,"published_at":"2026-11-11T23:17:23+00:00","modified_at":"2026-11-11T23:17:23+00:00","first_seen_at":"2026-11-11T23:29:41+00:00","fetched_at":"2026-11-11T23:29:41+00:00","note":null}],"documents":[{"id":129953,"url":"https://github.com/diced/zipline/commit/6bac7e6bb18cb37c1d09f91306c1ffbdca00097c","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":129946,"url":"https://github.com/diced/zipline/releases/tag/v4.8.0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":129955,"url":"https://github.com/diced/zipline/security/advisories/GHSA-v938-v8wg-9497","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-09-27T23:13:25+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":129956,"url":"https://www.vulncheck.com/advisories/zipline-4.3.2-before-4.8.0-rate-limit-bypass-via-spoofed-x-forwarded-for","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"}