{"id":"CVE-2026-77157","kind":"vulnerability","aliases":["CVE-2026-77157"],"related":[],"title":"Checkmarx ast-cli: unverified helper download lets substituted binaries run","description":"ast-cli downloads two helper binaries, the Vorpal ASCA real-time engine and the SCA Resolver, from \"download.checkmarx.com\" as part of its auto-update flow, triggered by the Checkmarx’s \"VSCode/JetBrains\" extensions and by cx scan \"sca-realtime\".\n\n\n\nPrior to the fix, the downloaded archive was not verified against a checksum before extraction and execution. An attacker able to substitute the served archive could deliver an arbitrary binary that ast-cli would extract and execute the contents of the archive, since no integrity check was performed on the download.\n\n\n\nSuccessful exploitation requires compromising \"download.checkmarx.com\" and replacing the served archive with one containing an attacker-controlled binary. If the served archive had been replaced that way, any developer machine or CI pipeline invoking ASCA (via Checkmarx's VSCode/JetBrains extensions) or cx scan \"sca-realtime\" on an affected version would have extracted and executed that binary in place of the intended download.\n\n\n\nThe download is now verified against a published SHA-256 checksum before extraction.","summary":"ast-cli downloads the Vorpal ASCA engine and SCA Resolver helper binaries from download.checkmarx.com during auto-update and does not check a checksum before extracting and running them. An attacker who can substitute the served archive could get arbitrary code run on developer machines or CI pipelines that invoke ASCA or cx scan sca-realtime.","severity":"medium","cvss":6.4,"epss":0.00143,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ast-cli","checkmarx","ci","developer-machines","jetbrains","package","vscode"],"not_affected_if":["fixed-version","no-ide-extensions","no-sca-realtime"],"how_to_check":"- Run `cx version` or `ast-cli version` and compare against the fixed release; the sources do not name the fixed version.\n- unknown for affected version range.","fix":"- Upgrade ast-cli to a release that verifies the download against its published SHA-256 checksum before extraction; the sources do not name the version.\n- unknown for whether any credential rotation is needed.","status":"open","published_at":"2026-10-22T18:17:29+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","triaged_at":"2026-10-25T03:59:17+00:00","updated_at":"2026-10-25T03:59:17+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T03:59:17Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade ast-cli to a release that verifies the download against its published SHA-256 checksum before extraction; the sources do not name the version.\n- unknown for whether any credential rotation is needed.","reach":"internet","title":"Checkmarx ast-cli: unverified helper download lets substituted binaries run","impact":"high","summary":"ast-cli downloads the Vorpal ASCA engine and SCA Resolver helper binaries from download.checkmarx.com during auto-update and does not check a checksum before extracting and running them. An attacker who can substitute the served archive could get arbitrary code run on developer machines or CI pipelines that invoke ASCA or cx scan sca-realtime.","category":"package","nicknames":[],"who_cares":["ast-cli","checkmarx","ci","developer-machines","vscode","jetbrains"],"confidence":0.6,"needs_auth":"no","worst_case":"arbitrary binary runs on developer machines and CI runners","analyst_note":"Find the fixed ast-cli version and affected range in the Checkmarx advisory or NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-77157.","how_to_check":"- Run `cx version` or `ast-cli version` and compare against the fixed release; the sources do not name the fixed version.\n- unknown for affected version range.","needs_analyst":true,"not_affected_if":["fixed-version","no-sca-realtime","no-ide-extensions"],"who_is_affected":"Teams that run Checkmarx ast-cli on developer machines or CI pipelines, through the VSCode or JetBrains extensions or by running cx scan sca-realtime, are exposed. Exploitation requires compromising download.checkmarx.com or otherwise substituting the served archive, so teams that only run ast-cli in a pinned, offline-installed form are less exposed.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000702,"input_tokens":3621,"output_tokens":679,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-256':253C '-77157':14A,17A 'abl':148C 'affect':229C 'arbitrari':69B,157C 'archiv':66B,135C,153C,171C,190C,202C 'asca':35B,80B,96C,215C 'ast':3A,19B,30B,88C,161C 'ast-c':2A,18B,29B,87C,160C 'attack':60B,147C,196C 'attacker-control':195C 'auto':46B,112C 'auto-upd':45B,111C 'binari':10A,41B,93C,158C,198C,237C 'check':51B,175C 'checkmarx':1A,21B,118C,217C 'checksum':53B,141C,254C 'ci':22B,76B,212C 'cli':4A,20B,31B,89C,162C 'code':70B 'compromis':184C 'contain':193C 'content':168C 'control':197C 'could':67B,154C 'cve':12A,15A 'cx':82B,124C,222C 'deliv':155C 'develop':24B,73B,209C 'developer-machin':23B 'download':7A,32B,90C,134C,180C,243C,245C 'download.checkmarx.com':43B,106C,185C 'engin':36B,100C 'execut':145C,166C,235C 'exploit':182C 'extens':121C,220C 'extract':55B,143C,164C,233C,256C 'fix':132C 'flow':114C 'get':68B 'helper':6A,40B,92C 'integr':174C 'intend':242C 'invok':79B,214C 'jetbrain':26B 'let':8A 'machin':25B,74B,210C 'one':192C 'packag':27B 'part':108C 'perform':177C 'pipelin':77B,213C 'place':239C 'prior':129C 'publish':251C 'real':98C 'real-tim':97C 'realtim':86B,128C,226C 'replac':187C,205C 'requir':183C 'resolv':39B,104C 'run':11A,57B,71B 'sca':38B,85B,103C,127C,225C 'sca-realtim':84B,126C,224C 'scan':83B,125C,223C 'serv':65B,152C,189C,201C 'sha':252C 'sinc':172C 'substitut':9A,63B,150C 'success':181C 'time':99C 'trigger':115C 'two':91C 'unverifi':5A 'updat':47B,113C 'verifi':138C,248C 'version':230C 'via':216C 'vorpal':34B,95C 'vscode':28B 'vscode/jetbrains':120C,219C 'way':207C 'would':163C,231C","nicknames":[],"mitigations":[],"who_affected":"Teams that run Checkmarx ast-cli on developer machines or CI pipelines, through the VSCode or JetBrains extensions or by running cx scan sca-realtime, are exposed. Exploitation requires compromising download.checkmarx.com or otherwise substituting the served archive, so teams that only run ast-cli in a pinned, offline-installed form are less exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T18:17:29+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H/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":"596c5446-0ce5-4ba2-aa66-48b3b757a647","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-77157","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77157","severity":null,"published_at":"2026-10-22T18:17:29+00:00","modified_at":"2026-10-23T19:57:42+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-77157","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-77157","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-24T07:15:51+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"}