{"id":"CVE-2026-112000","kind":"vulnerability","aliases":["CVE-2026-112000"],"related":[],"title":"Vanus gateway lets any logged-in user hijack other tenants' subscriptions","description":"Vanus 0.8.0 through 0.9.0 contains a missing authorization vulnerability in the gateway that allows any authenticated user to call Subscribe, Ack, and unregistered methods without permission checks. Attackers can supply another tenant's subscription ID to Subscribe to hijack it, read and acknowledge its events, starve the legitimate consumer, and enumerate cluster users via ListUser.","summary":"Vanus versions 0.8.0 through 0.9.0 let any authenticated user call Subscribe, Ack and unregistered gateway methods without permission checks. An attacker who knows another tenant's subscription ID can take over that subscription, read and acknowledge its events, starve the legitimate consumer, and list cluster users.","severity":"high","cvss":7.6,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"vanus","fixed":[],"affected":">= 0.8.0, <= 0.9.0","ecosystem":"github"}],"ecosystems":[],"tags":["eventbus","missing-authorization","multi-tenant","package","self-hosted","vanus"],"not_affected_if":["gateway-not-exposed","managed-hosting","single-tenant","versions-outside-0.8.0-0.9.0"],"how_to_check":"Run the gateway/controller image or binary and check its version: 0.8.0 through 0.9.0 is affected (the latest release is 0.9.0, so all releases from 0.8.0 on). Also check whether the gateway gRPC port is reachable by more than one tenant or by untrusted token holders. In source, server/gateway/auth/interceptor.go has a '// todo stream authorize' stream interceptor, and auth.go returns nil for unknown methods.","fix":"No fixed release as of 2026-10-25; latest release v0.9.0 is affected. Upstream issue #647 is open. Mitigate by not exposing the gateway to untrusted users and by moving to a single tenant.","status":"open","published_at":"2026-10-18T12:17:12+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","triaged_at":"2026-10-25T03:14:37+00:00","updated_at":"2026-10-25T03:44:41+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-10-25T03:14:37Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Vanus gateway lets any logged-in user hijack other tenants' subscriptions","impact":"medium","summary":"Vanus versions 0.8.0 through 0.9.0 let any authenticated user call Subscribe, Ack and unregistered gateway methods without permission checks. An attacker who knows another tenant's subscription ID can take over that subscription, read and acknowledge its events, starve the legitimate consumer, and list cluster users.","category":"package","nicknames":[],"who_cares":["vanus","self-hosted","multi-tenant"],"confidence":0.7,"needs_auth":"yes","worst_case":"Attacker hijacks other tenants' event subscriptions and lists cluster users","analyst_note":"Find the upstream Vanus advisory or fixed release version and any workaround; the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-112000 does not give one here.","how_to_check":"- Check the Vanus version in use; affected releases are `0.8.0` through `0.9.0`\n- Review whether the Vanus gateway is reachable by multiple tenants or untrusted authenticated users","needs_analyst":true,"not_affected_if":["single-tenant","versions-outside-0.8.0-0.9.0"],"who_is_affected":"Deployments of Vanus 0.8.0 through 0.9.0 where more than one tenant or user holds valid gateway credentials are the exposed case, since the flaw is about cross-tenant access. The sources do not say whether a fixed release exists or which setting mitigates it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000629,"input_tokens":3357,"output_tokens":587,"severity_before":"high"},"analyst_status":"done","analyst_note":"Find the upstream Vanus advisory or fixed release version and any workaround; the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-112000 does not give one here.","search":"'-112000':15A,18A '-2026':14A,17A '0.8.0':34B,79C '0.9.0':36B,81C 'ack':43B,98C 'acknowledg':67B,120C 'allow':91C 'anoth':55B,108C 'attack':52B,105C 'authent':39B,93C 'author':23B,85C 'call':41B,96C 'check':50B,104C 'cluster':76B,129C 'consum':73B,126C 'contain':82C 'cve':13A,16A 'enumer':128C 'event':69B,122C 'eventbus':20B 'gateway':2A,46B,89C 'hijack':9A,116C 'host':30B 'id':59B,112C 'know':54B 'legitim':72B,125C 'let':3A,37B 'list':75B 'listus':132C 'log':6A 'logged-in':5A 'method':47B,101C 'miss':22B,84C 'missing-author':21B 'multi':25B 'multi-ten':24B 'packag':27B 'permiss':49B,103C 'read':65B,118C 'self':29B 'self-host':28B 'starv':70B,123C 'subscrib':42B,97C,114C 'subscript':12A,58B,64B,111C 'suppli':107C 'take':61B 'tenant':11A,26B,56B,109C 'unregist':45B,100C 'user':8A,40B,77B,94C,130C 'vanus':1A,19A,31B,32B,78C 'version':33B 'via':131C 'vulner':86C 'without':48B,102C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted Vanus 0.8.0-0.9.0 deployments where more than one tenant or untrusted user holds a valid gateway token. Any token holder can Subscribe to another tenant's subscription ID, read and ack its events, starve the real consumer, and list users (ListUser). Single-tenant or private-network setups where every token holder is trusted are at low risk.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-18T12:17:12+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/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-112000","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112000","severity":null,"published_at":"2026-10-18T12:17:12+00:00","modified_at":"2026-10-22T03:16:32+00:00","first_seen_at":"2026-10-23T21:57:15+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-112000:781","url":null,"severity":null,"published_at":"2026-10-25T03:44:41+00:00","modified_at":"2026-10-25T03:44:41+00:00","first_seen_at":"2026-10-25T03:44:41+00:00","fetched_at":"2026-10-25T03:44:41+00:00","note":"No fix exists: reporter issue vanus-labs/vanus#647 (open, 'Fixed version: none') and releases (latest v0.9.0, 2023) show no patched release; VulnCheck CNA advisory confirms 0.8.0-0.9.0. Issue 4 is from static analysis only, no PoC published. Same issue #647 covers sibling CVEs 111998 (default admin token) and 111999 (unauth publish on :8081), which make this reachable without any login. Nothing marked verified: no vendor statement."}],"documents":[{"id":1975,"url":"https://github.com/vanus-labs/vanus/issues/647","title":"Vanus #647 [Security] hardcoded token, unauth publish, SSRF, missing authorization (reporter)","kind":"issue","source":"analyst","text":null,"published_at":null,"relation":"describes","confidence":null,"note":null},{"id":3312,"url":"https://www.vulncheck.com/advisories/vanus-0.8.0-through-0.9.0-missing-authorization-in-gateway-streaming-rpcs","title":"VulnCheck: Vanus 0.8.0-0.9.0 Missing Authorization in Gateway Streaming RPCs","kind":"advisory","source":"analyst","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null},{"id":1980,"url":"https://github.com/vanus-labs/vanus/releases","title":"Vanus releases (latest v0.9.0, 2023-09)","kind":"release","source":"analyst","text":null,"published_at":null,"relation":"mentions","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}