{"id":"CVE-2026-113644","kind":"vulnerability","aliases":["CVE-2026-113644"],"related":[],"title":"Eclipse ioFog iofogctl: API response values run as shell commands","description":"In Eclipse ioFog iofogctl versions 1.0.0 through 3.7.0 and 3.8.0-rc.1 through 3.9.1, the provisioning key and CA certificate returned by the Controller API are concatenated into shell commands (`edgelet provision` and `edgelet config cert` on supported releases; `iofog-agent provision` and `iofog-agent cert` on older releases) that run over SSH on a remote agent host and via a local shell. A party who can change that API response can include shell metacharacters and cause the operator's CLI to run additional commands on the agent host when the operator deploys or attaches an agent. This is fixed in version 3.9.2.","summary":"iofogctl builds shell commands by concatenating the provisioning key and CA certificate returned by the Controller API, then runs them over SSH on agent hosts and locally. A party who can alter that API response can inject shell metacharacters to run extra commands on the agent host when an operator deploys or attaches an agent.","severity":"medium","cvss":5.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["edge-computing","iofog","iofogctl","package","self-hosted","ssh"],"not_affected_if":["fixed-version","not-using-iofog","trusted-controller-path"],"how_to_check":"- Run `iofogctl version` and compare against the affected range: 1.0.0 through 3.7.0, and 3.8.0-rc.1 through 3.9.1.\n- Check whether the Controller API responses are reachable by anyone who could tamper with them, such as over an untrusted network path.","fix":"- Upgrade iofogctl to `3.9.2`.\n- Until upgraded, deploy and attach agents only through a trusted, authenticated Controller connection.","status":"open","published_at":"2026-10-27T12:17:05+00:00","first_seen_at":"2026-10-27T12:31:37+00:00","triaged_at":"2026-10-27T12:32:14+00:00","updated_at":"2026-10-27T12:32:14+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-27T12:32:14Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade iofogctl to `3.9.2`.\n- Until upgraded, deploy and attach agents only through a trusted, authenticated Controller connection.","reach":"network","title":"Eclipse ioFog iofogctl: API response values run as shell commands","impact":"high","summary":"iofogctl builds shell commands by concatenating the provisioning key and CA certificate returned by the Controller API, then runs them over SSH on agent hosts and locally. A party who can alter that API response can inject shell metacharacters to run extra commands on the agent host when an operator deploys or attaches an agent.","category":"package","nicknames":[],"who_cares":["iofogctl","ioFog","edge-computing","ssh","self-hosted"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker runs extra commands on agent hosts during deployment","analyst_note":"Confirm the attacker position needed to alter Controller API responses and whether the advisory names a required setting; check the NVD entry at https://nvd.nist.gov/vuln/detail/CVE-2026-113644.","how_to_check":"- Run `iofogctl version` and compare against the affected range: 1.0.0 through 3.7.0, and 3.8.0-rc.1 through 3.9.1.\n- Check whether the Controller API responses are reachable by anyone who could tamper with them, such as over an untrusted network path.","needs_analyst":true,"not_affected_if":["not-using-iofog","fixed-version","trusted-controller-path"],"who_is_affected":"Teams that use iofogctl to provision or attach ioFog edge agents, and whose Controller API traffic could be altered by someone other than the operator. Operators who only run iofogctl against a Controller they fully control, over a trusted path, are at much lower risk. Teams not using ioFog can skip it.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000683,"input_tokens":3464,"output_tokens":673,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-113644':13A,16A '-2026':12A,15A '1.0.0':87C '3.7.0':89C '3.8.0':91C '3.9.1':94C '3.9.2':185C 'addit':166C 'agent':50B,72B,81B,122C,127C,139C,170C,179C 'alter':58B 'api':4A,43B,60B,105C,152C 'attach':79B,177C 'build':28B 'ca':37B,99C 'caus':159C 'cert':116C,128C 'certif':38B,100C 'chang':150C 'cli':163C 'command':10A,30B,69B,110C,167C 'comput':19B 'concaten':32B,107C 'config':115C 'control':42B,104C 'cve':11A,14A 'deploy':77B,175C 'eclips':1A,83C 'edg':18B 'edge-comput':17B 'edgelet':111C,114C 'extra':68B 'fix':182C 'host':25B,51B,73B,140C,171C 'includ':155C 'inject':63B 'iofog':2A,20B,84C,121C,126C 'iofog-ag':120C,125C 'iofogctl':3A,21B,27B,85C 'key':35B,97C 'local':53B,144C 'metacharact':65B,157C 'older':130C 'oper':76B,161C,174C 'packag':22B 'parti':55B,147C 'provis':34B,96C,112C,123C 'rc.1':92C 'releas':119C,131C 'remot':138C 'respons':5A,61B,153C 'return':39B,101C 'run':7A,45B,67B,133C,165C 'self':24B 'self-host':23B 'shell':9A,29B,64B,109C,145C,156C 'ssh':26B,48B,135C 'support':118C 'valu':6A 'version':86C,184C 'via':142C","nicknames":[],"mitigations":[],"who_affected":"Teams that use iofogctl to provision or attach ioFog edge agents, and whose Controller API traffic could be altered by someone other than the operator. Operators who only run iofogctl against a Controller they fully control, over a trusted path, are at much lower risk. Teams not using ioFog can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-27T12:17:05+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/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":"emo@eclipse.org","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-113644","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-113644","severity":null,"published_at":"2026-10-27T12:17:05+00:00","modified_at":"2026-10-27T12:17:05+00:00","first_seen_at":"2026-10-27T12:31:37+00:00","fetched_at":"2026-10-27T12:31:37+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"}