{"id":"CVE-2026-89229","kind":"vulnerability","aliases":["CVE-2026-89229"],"related":[],"title":"BlueLM Copilot: path traversal lets a rogue Android app write files","description":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in the ShareActivity component of BlueLM Copilot (com.vivo.ai.copilot) allows a malicious application installed on the same device to write arbitrary files via a crafted ACTION_SEND intent with a ContentProvider-supplied file name containing '..' sequences.","summary":"The ShareActivity component of the vivo BlueLM Copilot app (com.vivo.ai.copilot) does not restrict file names supplied through a ContentProvider, so '..' sequences escape the intended directory. A malicious app installed on the same phone can send a crafted share intent and write arbitrary files into the Copilot app's reachable storage.","severity":"medium","cvss":5.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["android","bluelm-copilot","other","vivo"],"not_affected_if":["copilot-not-installed"],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-11-03T10:17:19+00:00","first_seen_at":"2026-11-03T10:20:16+00:00","triaged_at":"2026-11-03T10:20:43+00:00","updated_at":"2026-11-03T10:20:43+00:00","category":"other","confidence":0.5,"triage":{"at":"2026-11-03T10:20:43Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"BlueLM Copilot: path traversal lets a rogue Android app write files","impact":"medium","summary":"The ShareActivity component of the vivo BlueLM Copilot app (com.vivo.ai.copilot) does not restrict file names supplied through a ContentProvider, so '..' sequences escape the intended directory. A malicious app installed on the same phone can send a crafted share intent and write arbitrary files into the Copilot app's reachable storage.","audience":"everyone","category":"other","nicknames":[],"who_cares":["android","vivo","bluelm-copilot"],"confidence":0.5,"fix_status":"unknown","needs_auth":"no","worst_case":"a malicious installed app writes arbitrary files through Copilot","analyst_note":"Check vivo's security bulletin or the NVD entry for affected and fixed BlueLM Copilot versions and whether any user action is required.","how_to_check":"unknown","plain_action":"","needs_analyst":true,"not_affected_if":["copilot-not-installed"],"who_is_affected":"Owners of vivo phones with the BlueLM Copilot app installed who also have other apps installed that could be malicious; the flaw needs a second app on the same device to send the crafted intent. Sources do not state which BlueLM Copilot versions are affected or fixed.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000667,"input_tokens":4153,"output_tokens":504,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-89229':14A,17A 'action':109C 'allow':93C 'android':8A,18B 'app':9A,32B,51B,70B 'applic':96C 'arbitrari':65B,104C 'bluelm':1A,20B,30B,90C 'bluelm-copilot':19B 'com.vivo.ai.copilot':33B,92C 'compon':26B,88C 'contain':119C 'contentprovid':42B,115C 'contentprovider-suppli':114C 'copilot':2A,21B,31B,69B,91C 'craft':60B,108C 'cve':12A,15A 'devic':101C 'directori':48B,82C 'escap':45B 'file':11A,37B,66B,105C,117C 'improp':74C 'instal':52B,97C 'intend':47B 'intent':62B,111C 'let':5A 'limit':75C 'malici':50B,95C 'name':38B,118C 'path':3A,83C 'pathnam':78C 'phone':56B 'reachabl':72B 'restrict':36B,81C 'rogu':7A 'send':58B,110C 'sequenc':44B,120C 'share':61B 'shareact':25B,87C 'storag':73B 'suppli':39B,116C 'travers':4A,84C 'via':106C 'vivo':23B,29B 'write':10A,64B,103C","nicknames":[],"mitigations":[],"who_affected":"Owners of vivo phones with the BlueLM Copilot app installed who also have other apps installed that could be malicious; the flaw needs a second app on the same device to send the crafted intent. Sources do not state which BlueLM Copilot versions are affected or fixed.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"everyone","plain_action":null,"pkeys":[],"ptokens":[],"labels":["android","bluelmcopilot","medium","other","vivo"],"first_public_at":"2026-11-03T10:17:19+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/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":"security@vivo.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-89229","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89229","severity":null,"published_at":"2026-11-03T10:17:19+00:00","modified_at":"2026-11-03T10:17:19+00:00","first_seen_at":"2026-11-03T10:20:16+00:00","fetched_at":"2026-11-03T10:20:16+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}