{"id":"CVE-2026-111664","kind":"vulnerability","aliases":["CVE-2026-111664"],"related":[],"title":"Safing Portmaster: unprivileged local processes can force installs of older releases","description":"Safing Portmaster before 2.2.5 contains a missing authorization vulnerability that allows unprivileged local processes to force updates by calling the POST /api/v1/updates/from-url endpoint registered with api.PermitAnyone. Attackers can supply an attacker-controlled index URL that bypasses version checks and auto-apply settings, installing older Safing-signed releases carrying previously fixed vulnerabilities.","summary":"Portmaster before 2.2.5 exposes POST /api/v1/updates/from-url to any local process without authorization. An attacker can point it at an index they control and install older Safing-signed releases that contain already-fixed vulnerabilities.","severity":"medium","cvss":4.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["desktop","endpoint","package","portmaster"],"not_affected_if":["portmaster-2.2.5-or-later"],"how_to_check":"- Check the installed Portmaster version against `2.2.5`; anything earlier is affected.\n- unknown","fix":"- Upgrade Portmaster to `2.2.5` or later.","status":"open","published_at":"2026-10-16T18:17:48+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","triaged_at":"2026-10-25T04:33:36+00:00","updated_at":"2026-10-25T04:33:36+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:33:36Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Portmaster to `2.2.5` or later.","reach":"local","title":"Safing Portmaster: unprivileged local processes can force installs of older releases","impact":"medium","summary":"Portmaster before 2.2.5 exposes POST /api/v1/updates/from-url to any local process without authorization. An attacker can point it at an index they control and install older Safing-signed releases that contain already-fixed vulnerabilities.","category":"package","nicknames":[],"who_cares":["portmaster","endpoint","desktop"],"confidence":0.7,"needs_auth":"no","worst_case":"local process installs an attacker-chosen older Portmaster release","analyst_note":"Confirm the affected version range and whether the local API listens on a reachable interface, using the NVD entry and the Safing advisory.","how_to_check":"- Check the installed Portmaster version against `2.2.5`; anything earlier is affected.\n- unknown","needs_analyst":true,"not_affected_if":["portmaster-2.2.5-or-later"],"who_is_affected":"Any machine running Portmaster before 2.2.5, since the flaw sits in its local API. Exposure requires a local process running on the same host, so a machine with no untrusted local code has a smaller risk. The sources do not say which platforms or configurations are most at risk.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000581,"input_tokens":3360,"output_tokens":490,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-111664':14A,17A '-2026':13A,16A '/api/v1/updates/from-url':27B,78C '2.2.5':24B,60C 'allow':67C 'alreadi':54B 'already-fix':53B 'api.permitanyone':82C 'appli':99C 'attack':35B,83C,88C 'attacker-control':87C 'author':33B,64C 'auto':98C 'auto-appli':97C 'bypass':93C 'call':75C 'carri':107C 'check':95C 'contain':52B,61C 'control':43B,89C 'cve':12A,15A 'desktop':18B 'endpoint':19B,79C 'expos':25B 'fix':55B,109C 'forc':7A,72C 'index':41B,90C 'instal':8A,45B,101C 'local':4A,30B,69C 'miss':63C 'older':10A,46B,102C 'packag':20B 'point':37B 'portmast':2A,21B,22B,58C 'post':26B,77C 'previous':108C 'process':5A,31B,70C 'regist':80C 'releas':11A,50B,106C 'safe':1A,48B,57C,104C 'safing-sign':47B,103C 'set':100C 'sign':49B,105C 'suppli':85C 'unprivileg':3A,68C 'updat':73C 'url':91C 'version':94C 'vulner':56B,65C,110C 'without':32B","nicknames":[],"mitigations":[],"who_affected":"Any machine running Portmaster before 2.2.5, since the flaw sits in its local API. Exposure requires a local process running on the same host, so a machine with no untrusted local code has a smaller risk. The sources do not say which platforms or configurations are most at risk.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T18:17:48+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/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":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111664","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111664","severity":null,"published_at":"2026-10-16T18:17:48+00:00","modified_at":"2026-10-21T21:17:54+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","fetched_at":"2026-10-23T22:28:55+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"}