{"id":"CVE-2026-123624","kind":"vulnerability","aliases":["CVE-2026-123624"],"related":[],"title":"ChatWiki: authenticated users can overwrite other tenants' fast commands","description":"ChatWiki before 2.10.0 contains an insecure direct object reference vulnerability that allows authenticated users to modify other tenants' fast commands by supplying arbitrary sequential ids to POST /manage/saveFastCommand. Attackers can overwrite another tenant's command title, type, content and robot binding, redirecting webpage-jump commands to attacker URLs and reassigning the record to their own tenant.","summary":"ChatWiki before 2.10.0 lets any logged-in user change another tenant's fast commands by guessing sequential record ids sent to the save endpoint. An attacker can rewrite a command's content and point webpage-jump commands at attacker-controlled URLs, then reassign the record to their own tenant.","severity":"medium","cvss":5.4,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["chatwiki","multi-tenant","other","self-hosted"],"not_affected_if":["version-2.10.0-or-later"],"how_to_check":"- Check the ChatWiki version in use; deployments below `2.10.0` are affected.\n- Review whether the fast command save endpoint (`POST /manage/saveFastCommand`) is reachable by tenant users who should not manage other tenants' data.","fix":"- ChatWiki: upgrade to `2.10.0` or later.","status":"open","published_at":"2026-11-06T15:17:20+00:00","first_seen_at":"2026-11-06T15:42:44+00:00","triaged_at":"2026-11-06T15:44:41+00:00","updated_at":"2026-11-06T15:44:41+00:00","category":"other","confidence":0.8,"triage":{"at":"2026-11-06T15:44:41Z","model":"claude-haiku-5-5","output":{"fix":"- ChatWiki: upgrade to `2.10.0` or later.","reach":"internet","title":"ChatWiki: authenticated users can overwrite other tenants' fast commands","impact":"medium","summary":"ChatWiki before 2.10.0 lets any logged-in user change another tenant's fast commands by guessing sequential record ids sent to the save endpoint. An attacker can rewrite a command's content and point webpage-jump commands at attacker-controlled URLs, then reassign the record to their own tenant.","audience":"businesses","category":"other","nicknames":[],"who_cares":["chatwiki","self-hosted","multi-tenant"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"Other tenants' commands rewritten to redirect users to attacker URLs","analyst_note":"","how_to_check":"- Check the ChatWiki version in use; deployments below `2.10.0` are affected.\n- Review whether the fast command save endpoint (`POST /manage/saveFastCommand`) is reachable by tenant users who should not manage other tenants' data.","plain_action":"","needs_analyst":false,"not_affected_if":["version-2.10.0-or-later"],"who_is_affected":"Any ChatWiki deployment running a version before 2.10.0 with more than one tenant, since the flaw lets an authenticated user act on records owned by other tenants. Single-tenant use with no untrusted accounts carries much less risk, but the sources do not say how the tenant model is configured by default.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.001196,"input_tokens":4327,"output_tokens":1526,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-123624':12A,15A '-2026':11A,14A '/manage/savefastcommand':103C '2.10.0':26B,78C 'allow':87C 'anoth':34B,107C 'arbitrari':98C 'attack':50B,65B,104C,123C 'attacker-control':64B 'authent':2A,88C 'bind':116C 'chang':33B 'chatwiki':1A,16B,24B,76C 'command':9A,38B,54B,62B,95C,110C,121C 'contain':79C 'content':56B,113C 'control':66B 'cve':10A,13A 'direct':82C 'endpoint':48B 'fast':8A,37B,94C 'guess':40B 'host':23B 'id':43B,100C 'insecur':81C 'jump':61B,120C 'let':27B 'log':30B 'logged-in':29B 'modifi':91C 'multi':18B 'multi-ten':17B 'object':83C 'overwrit':5A,106C 'point':58B 'post':102C 'reassign':69B,126C 'record':42B,71B,128C 'redirect':117C 'refer':84C 'rewrit':52B 'robot':115C 'save':47B 'self':22B 'self-host':21B 'sent':44B 'sequenti':41B,99C 'suppli':97C 'tenant':7A,19B,35B,75B,93C,108C,132C 'titl':111C 'type':112C 'url':67B,124C 'user':3A,32B,89C 'vulner':85C 'webpag':60B,119C 'webpage-jump':59B,118C","nicknames":[],"mitigations":[],"who_affected":"Any ChatWiki deployment running a version before 2.10.0 with more than one tenant, since the flaw lets an authenticated user act on records owned by other tenants. Single-tenant use with no untrusted accounts carries much less risk, but the sources do not say how the tenant model is configured by default.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["chatwiki","medium","multitenant","other","selfhosted"],"campaign_type":null,"search_a":"'-123624':12A,15A '-2026':11A,14A 'authent':2A 'chatwiki':1A 'command':9A 'cve':10A,13A 'fast':8A 'overwrit':5A 'tenant':7A 'user':3A","search_b":"'2.10.0':26B 'anoth':34B 'attack':50B,65B 'attacker-control':64B 'chang':33B 'chatwiki':16B,24B 'command':38B,54B,62B 'content':56B 'control':66B 'endpoint':48B 'fast':37B 'guess':40B 'host':23B 'id':43B 'jump':61B 'let':27B 'log':30B 'logged-in':29B 'multi':18B 'multi-ten':17B 'point':58B 'reassign':69B 'record':42B,71B 'rewrit':52B 'save':47B 'self':22B 'self-host':21B 'sent':44B 'sequenti':41B 'tenant':19B,35B,75B 'url':67B 'user':32B 'webpag':60B 'webpage-jump':59B","search_c":"'/manage/savefastcommand':103C '2.10.0':78C 'allow':87C 'anoth':107C 'arbitrari':98C 'attack':104C,123C 'authent':88C 'bind':116C 'chatwiki':76C 'command':95C,110C,121C 'contain':79C 'content':113C 'direct':82C 'fast':94C 'id':100C 'insecur':81C 'jump':120C 'modifi':91C 'object':83C 'overwrit':106C 'post':102C 'reassign':126C 'record':128C 'redirect':117C 'refer':84C 'robot':115C 'sequenti':99C 'suppli':97C 'tenant':93C,108C,132C 'titl':111C 'type':112C 'url':124C 'user':89C 'vulner':85C 'webpag':119C 'webpage-jump':118C","first_public_at":"2026-11-06T15:17:20+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/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-123624","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123624","severity":null,"published_at":"2026-11-06T15:17:20+00:00","modified_at":"2026-11-06T15:17:20+00:00","first_seen_at":"2026-11-06T15:42:44+00:00","fetched_at":"2026-11-06T15:42:44+00:00","note":null}],"documents":[{"id":87581,"url":"https://github.com/zhimaAi/chatwiki/commit/81dd7a34be0322dd0881e1b8cfe85de337fdaf2b","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":87582,"url":"https://github.com/zhimaAi/chatwiki/commit/d1ca145e283e2cb652e0b1002d5f14d6a46671e3","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":87583,"url":"https://github.com/zhimaAi/chatwiki/releases/tag/v2.10.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":87584,"url":"https://www.vulncheck.com/advisories/chatwiki-before-2.10.0-cross-tenant-fast-command-modification-via-savefastcommand","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"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}