{"id":"CVE-2026-121529","kind":"vulnerability","aliases":["CVE-2026-121529"],"related":[],"title":"Fortinet FortiClient: origin validation flaw lets remote attacker run code","description":"A origin validation error vulnerability in Fortinet FortiClientMac 7.4.0 through 7.4.7, FortiClientWindows 7.4.0 through 7.4.7, FortiClientWindows 7.2.0 through 7.2.14, FortiClientWindowsPAM 7.4.7, FortiClientWindowsPAM 7.2.14 may allow an unauthorized remote attacker to execute unauthorized code or commands. Successful exploitation requires interaction with the victim.","summary":"FortiClient for macOS and Windows fails to validate request origin, so a remote attacker can get unauthorized code or command execution. The attack needs the victim to interact with a crafted page or action.","severity":"critical","cvss":9.6,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"FortiClientMac","fixed":["7.4.8"],"affected":">= 7.4.0, <= 7.4.7","ecosystem":"vendor"},{"name":"FortiClientWindows","fixed":["7.4.8","7.2.15"],"affected":">= 7.4.0, <= 7.4.7; >= 7.2.0, <= 7.2.14","ecosystem":"vendor"},{"name":"FortiClientWindowsPAM","fixed":["7.4.8","7.2.15"],"affected":">= 7.4.0, <= 7.4.7; >= 7.2.0, <= 7.2.14","ecosystem":"vendor"}],"ecosystems":[],"tags":["endpoint","forticlient","fortinet","macos","user-interaction","vendor","windows"],"not_affected_if":["forticlient-8.0","forticlient-mac-7.2"],"how_to_check":"Check the installed FortiClient version on each Mac and Windows endpoint (FortiClient About page). Affected per FortiGuard FG-IR-26-194: FortiClientMac 7.4.0-7.4.7; FortiClientWindows 7.4.0-7.4.7 and 7.2.0-7.2.14; FortiClientWindowsPAM 7.4.0-7.4.7 and 7.2.0-7.2.14. FortiClient 8.0 is not affected. The flaw is in a local API endpoint.","fix":"Upgrade FortiClient (Mac, Windows, Windows PAM) 7.4.x to 7.4.8 or above; FortiClient Windows and Windows PAM 7.2.x to 7.2.15 or above. 8.0 is not affected; FortiClientMac 7.2 is not affected.","status":"open","published_at":"2026-11-10T20:18:56+00:00","first_seen_at":"2026-11-10T20:46:04+00:00","triaged_at":"2026-11-10T20:47:17+00:00","updated_at":"2026-11-10T20:49:55+00:00","category":"vendor","confidence":0.85,"triage":{"at":"2026-11-10T20:47:17Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Fortinet FortiClient: origin validation flaw lets remote attacker run code","impact":"high","summary":"FortiClient for macOS and Windows fails to validate request origin, so a remote attacker can get unauthorized code or command execution. The attack needs the victim to interact with a crafted page or action.","audience":"businesses","category":"vendor","nicknames":[],"who_cares":["fortinet","forticlient","macos","windows","endpoint"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Remote attacker runs unauthorized code or commands on the endpoint.","analyst_note":"Confirm the fixed versions and any vendor advisory (FortiGuard PSIRT) for CVE-2026-121529; sources list only the NVD entry.","how_to_check":"- Check the installed FortiClient version on macOS and Windows machines against the affected ranges: FortiClientMac `7.4.0` through `7.4.7`, FortiClientWindows `7.4.0` through `7.4.7` and `7.2.0` through `7.2.14`, FortiClientWindowsPAM `7.4.7` and `7.2.14`.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":[],"who_is_affected":"Organizations running FortiClient endpoint VPN or security agents on macOS or Windows in the listed version ranges. The sources do not say which configurations are exposed beyond the version ranges, so the exposure of a given install is unknown.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000749,"input_tokens":4637,"output_tokens":571,"severity_before":"critical"},"analyst_status":"done","analyst_note":"Confirm the fixed versions and any vendor advisory (FortiGuard PSIRT) for CVE-2026-121529; sources list only the NVD entry.","search":"'-121529':13A,16A '-2026':12A,15A '7.2.0':79C '7.2.14':81C,85C '7.4.0':71C,75C '7.4.7':73C,77C,83C 'action':62B 'allow':87C 'attack':8A,42B,51B,91C 'code':10A,46B,95C 'command':48B,97C 'craft':59B 'cve':11A,14A 'endpoint':20B 'error':66C 'execut':49B,93C 'exploit':99C 'fail':34B 'flaw':5A 'forticli':2A,21B,29B 'forticlientmac':17A,70C 'forticlientwindow':74C,78C 'forticlientwindows':18A 'forticlientwindowspam':19A,82C,84C 'fortinet':1A,22B,69C 'get':44B 'interact':26B,56B,101C 'let':6A 'maco':23B,31B 'may':86C 'need':52B 'origin':3A,38B,64C 'page':60B 'remot':7A,41B,90C 'request':37B 'requir':100C 'run':9A 'success':98C 'unauthor':45B,89C,94C 'user':25B 'user-interact':24B 'valid':4A,36B,65C 'vendor':27B 'victim':54B,104C 'vulner':67C 'window':28B,33B","nicknames":[],"mitigations":[],"who_affected":"Teams running FortiClient on Windows (including the PAM component) or macOS on 7.4.0-7.4.7, or on Windows 7.2.0-7.2.14. A remote attacker needs a user to interact with something crafted, and then could run code or commands on the endpoint. Fortinet says the flaw is in a local API endpoint. Teams on FortiClient 8.0, or on 7.2 for Mac, can skip it.","tier":"B","verified":{"fix":{"at":"2026-11-10T20:49:55Z","by":"analyst","doc":"https://fortiguard.fortinet.com/psirt/FG-IR-26-194","run_id":2709},"products":{"at":"2026-11-10T20:49:55Z","by":"analyst","doc":"https://fortiguard.fortinet.com/psirt/FG-IR-26-194","run_id":2709},"how_to_check":{"at":"2026-11-10T20:49:55Z","by":"analyst","doc":"https://fortiguard.fortinet.com/psirt/FG-IR-26-194","run_id":2709},"who_affected":{"at":"2026-11-10T20:49:55Z","by":"analyst","doc":"https://fortiguard.fortinet.com/psirt/FG-IR-26-194","run_id":2709}},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["forticlientmac","forticlientwindows","forticlientwindowspam"],"ptokens":["forticlientmac","forticlientwindows","forticlientwindowspam"],"labels":["critical","endpoint","forticlient","fortinet","macos","userinteraction","vendor","windows"],"campaign_type":null,"search_a":"'-121529':13A,16A '-2026':12A,15A 'attack':8A 'code':10A 'cve':11A,14A 'flaw':5A 'forticli':2A 'forticlientmac':17A 'forticlientwindows':18A 'forticlientwindowspam':19A 'fortinet':1A 'let':6A 'origin':3A 'remot':7A 'run':9A 'valid':4A","search_b":"'action':62B 'attack':42B,51B 'code':46B 'command':48B 'craft':59B 'endpoint':20B 'execut':49B 'fail':34B 'forticli':21B,29B 'fortinet':22B 'get':44B 'interact':26B,56B 'maco':23B,31B 'need':52B 'origin':38B 'page':60B 'remot':41B 'request':37B 'unauthor':45B 'user':25B 'user-interact':24B 'valid':36B 'vendor':27B 'victim':54B 'window':28B,33B","search_c":"'7.2.0':79C '7.2.14':81C,85C '7.4.0':71C,75C '7.4.7':73C,77C,83C 'allow':87C 'attack':91C 'code':95C 'command':97C 'error':66C 'execut':93C 'exploit':99C 'forticlientmac':70C 'forticlientwindow':74C,78C 'forticlientwindowspam':82C,84C 'fortinet':69C 'interact':101C 'may':86C 'origin':64C 'remot':90C 'requir':100C 'success':98C 'unauthor':89C,94C 'valid':65C 'victim':104C 'vulner':67C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-10T20:18:56+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","cvss_by":"psirt@fortinet.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-121529","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121529","severity":null,"published_at":"2026-11-10T20:18:56+00:00","modified_at":"2026-11-10T20:18:56+00:00","first_seen_at":"2026-11-10T20:46:04+00:00","fetched_at":"2026-11-10T20:46:04+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-121529:2709","url":"https://fortiguard.fortinet.com/psirt/FG-IR-26-194","severity":null,"published_at":"2026-11-10T20:49:55+00:00","modified_at":"2026-11-10T20:49:55+00:00","first_seen_at":"2026-11-10T20:49:55+00:00","fetched_at":"2026-11-10T20:49:55+00:00","note":"Read FortiGuard FG-IR-26-194 (published 2026-11-10): fixes 7.4.8 / 7.2.15, not exploited per vendor, CWE-346 local API endpoint, reporter Baldur Security. Vendor CVSS is 9.1 (NVD shows 9.6); PAM ranges are 7.4.0-7.4.7 and 7.2.0-7.2.14, wider than NVD's. No mitigations or workaround listed. No social search: advisory is hours old.","cites":["https://fortiguard.fortinet.com/psirt/FG-IR-26-194"]}],"documents":[{"id":118293,"url":"https://fortiguard.fortinet.com/psirt/FG-IR-26-194","title":"FG-IR-26-194 Origin validation error in local API endpoint","kind":"advisory","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"advisory","confidence":null,"note":null}],"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"}