{"id":"CVE-2026-110189","kind":"vulnerability","aliases":["CVE-2026-110189"],"related":[],"title":"IBM ContextForge MCP Gateway: crafted filter input crashes gateway workers","description":"IBM ContextForge MCP Gateway 1.0.8 through 1.0.11, and v1.1.0  is vulnerable to denial of service due to an incomplete denylist in the jq filter guard module (CWE-184). An authenticated remote attacker can supply a crafted `jsonpath_filter` value containing `halt`, `halt_error`, or unbounded-loop built-ins that bypass the safety check, causing gateway worker process termination or sustained resource exhaustion.","summary":"IBM ContextForge MCP Gateway versions 1.0.8 through 1.0.11 and 1.1.0 have an incomplete denylist in their jq filter guard, so a crafted jsonpath_filter value containing halt, halt_error, or unbounded-loop built-ins gets past the check. An attacker with valid credentials can use this to kill gateway worker processes or exhaust resources.","severity":"medium","cvss":6.5,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"ContextForge MCP Gateway","fixed":["1.1.1"],"affected":">= 1.0.8, <= 1.0.11; 1.1.0","ecosystem":"vendor"}],"ecosystems":[],"tags":["ai-tooling","ibm-contextforge","mcp","self-hosted"],"not_affected_if":["auth-required","default-config"],"how_to_check":"Check the installed ContextForge MCP Gateway version (pip/container image tag). Exposed if it is v1.0.8 to v1.0.11 or v1.1.0 and authenticated users can set a tool jsonpath_filter. v1.0.7 and earlier are not listed in this bulletin (they have a separate jq issue, CVE-2026-18486).","fix":"Upgrade IBM ContextForge MCP Gateway to v1.1.1. IBM lists no workarounds.","status":"open","published_at":"2026-11-13T22:17:20+00:00","first_seen_at":"2026-11-13T22:33:33+00:00","triaged_at":"2026-11-13T22:34:33+00:00","updated_at":"2026-11-13T22:36:16+00:00","category":"ai-tooling","confidence":0.9,"triage":{"at":"2026-11-13T22:34:33Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"IBM ContextForge MCP Gateway: crafted filter input crashes gateway workers","impact":"medium","summary":"IBM ContextForge MCP Gateway versions 1.0.8 through 1.0.11 and 1.1.0 have an incomplete denylist in their jq filter guard, so a crafted jsonpath_filter value containing halt, halt_error, or unbounded-loop built-ins gets past the check. An attacker with valid credentials can use this to kill gateway worker processes or exhaust resources.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["mcp","ibm-contextforge","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"gateway worker processes terminate or resources are exhausted","analyst_note":"Check the IBM security bulletin for ContextForge for a fixed version and the exact jsonpath_filter configuration exposure.","how_to_check":"- Check the installed ContextForge version and whether it falls within `1.0.8` through `1.0.11` or `1.1.0`.\n- Confirm whether the gateway accepts `jsonpath_filter` input from authenticated users.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["auth-required","default-config"],"who_is_affected":"Teams that run IBM ContextForge MCP Gateway in the affected version range and let authenticated users supply jsonpath_filter values. Deployments without those versions or without user-supplied filters are not exposed. The sources do not state a fixed version.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000761,"input_tokens":4629,"output_tokens":597,"severity_before":"medium"},"analyst_status":"done","analyst_note":"Check the IBM security bulletin for ContextForge for a fixed version and the exact jsonpath_filter configuration exposure.","search":"'-110189':13A,16A '-184':113C '-2026':12A,15A '1.0.11':37B,92C '1.0.8':35B,90C '1.1.0':39B 'ai':21B 'ai-tool':20B 'attack':71B,117C 'authent':115C 'built':64B,134C 'built-in':63B,133C 'bypass':137C 'caus':141C 'check':69B,140C 'contain':55B,125C 'contextforg':2A,25B,31B,87C 'contextforge':17A 'craft':5A,51B,121C 'crash':8A 'credenti':74B 'cve':11A,14A 'cwe':112C 'denial':98C 'denylist':43B,105C 'due':101C 'error':58B,128C 'exhaust':84B,149C 'filter':6A,47B,53B,109C,123C 'gateway':4A,9A,19A,33B,80B,89C,142C 'get':66B 'guard':48B,110C 'halt':56B,57B,126C,127C 'host':29B 'ibm':1A,24B,30B,86C 'ibm-contextforg':23B 'in':65B,135C 'incomplet':42B,104C 'input':7A 'jq':46B,108C 'jsonpath':52B,122C 'kill':79B 'loop':62B,132C 'mcp':3A,18A,26B,32B,88C 'modul':111C 'past':67B 'process':82B,144C 'remot':116C 'resourc':85B,148C 'safeti':139C 'self':28B 'self-host':27B 'servic':100C 'suppli':119C 'sustain':147C 'termin':145C 'tool':22B 'unbound':61B,131C 'unbounded-loop':60B,130C 'use':76B 'v1.1.0':94C 'valid':73B 'valu':54B,124C 'version':34B 'vulner':96C 'worker':10A,81B,143C","nicknames":[],"mitigations":[],"who_affected":"Teams self-hosting IBM ContextForge MCP Gateway v1.0.8 to v1.0.11 or v1.1.0 where authenticated users can supply a jsonpath_filter (jq filter) on tools. An authenticated user can crash gateway workers or exhaust resources. Anyone on v1.1.1 or later can skip it.","tier":"B","verified":{"fix":{"at":"2026-11-13T22:36:16Z","by":"analyst","doc":"https://www.ibm.com/support/pages/node/7296697","run_id":3942},"products":{"at":"2026-11-13T22:36:16Z","by":"analyst","doc":"https://www.ibm.com/support/pages/node/7296697","run_id":3942},"how_to_check":{"at":"2026-11-13T22:36:16Z","by":"analyst","doc":"https://www.ibm.com/support/pages/node/7296697","run_id":3942},"who_affected":{"at":"2026-11-13T22:36:16Z","by":"analyst","doc":"https://www.ibm.com/support/pages/node/7296697","run_id":3942}},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["contextforgemcpgateway","mcpgateway"],"ptokens":["contextforge","gateway","mcp"],"labels":["aitooling","ibmcontextforge","mcp","medium","selfhosted"],"campaign_type":null,"search_a":"'-110189':13A,16A '-2026':12A,15A 'contextforg':2A 'contextforge':17A 'craft':5A 'crash':8A 'cve':11A,14A 'filter':6A 'gateway':4A,9A,19A 'ibm':1A 'input':7A 'mcp':3A,18A 'worker':10A","search_b":"'1.0.11':37B '1.0.8':35B '1.1.0':39B 'ai':21B 'ai-tool':20B 'attack':71B 'built':64B 'built-in':63B 'check':69B 'contain':55B 'contextforg':25B,31B 'craft':51B 'credenti':74B 'denylist':43B 'error':58B 'exhaust':84B 'filter':47B,53B 'gateway':33B,80B 'get':66B 'guard':48B 'halt':56B,57B 'host':29B 'ibm':24B,30B 'ibm-contextforg':23B 'in':65B 'incomplet':42B 'jq':46B 'jsonpath':52B 'kill':79B 'loop':62B 'mcp':26B,32B 'past':67B 'process':82B 'resourc':85B 'self':28B 'self-host':27B 'tool':22B 'unbound':61B 'unbounded-loop':60B 'use':76B 'valid':73B 'valu':54B 'version':34B 'worker':81B","search_c":"'-184':113C '1.0.11':92C '1.0.8':90C 'attack':117C 'authent':115C 'built':134C 'built-in':133C 'bypass':137C 'caus':141C 'check':140C 'contain':125C 'contextforg':87C 'craft':121C 'cwe':112C 'denial':98C 'denylist':105C 'due':101C 'error':128C 'exhaust':149C 'filter':109C,123C 'gateway':89C,142C 'guard':110C 'halt':126C,127C 'ibm':86C 'in':135C 'incomplet':104C 'jq':108C 'jsonpath':122C 'loop':132C 'mcp':88C 'modul':111C 'process':144C 'remot':116C 'resourc':148C 'safeti':139C 'servic':100C 'suppli':119C 'sustain':147C 'termin':145C 'unbound':131C 'unbounded-loop':130C 'v1.1.0':94C 'valu':124C 'vulner':96C 'worker':143C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-13T22:17:20+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","cvss_by":"psirt@us.ibm.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-110189","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110189","severity":null,"published_at":"2026-11-13T22:17:20+00:00","modified_at":"2026-11-13T22:17:20+00:00","first_seen_at":"2026-11-13T22:33:33+00:00","fetched_at":"2026-11-13T22:33:33+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-110189:3942","url":"https://www.ibm.com/support/pages/node/7296697","severity":null,"published_at":"2026-11-13T22:36:16+00:00","modified_at":"2026-11-13T22:36:16+00:00","first_seen_at":"2026-11-13T22:36:16+00:00","fetched_at":"2026-11-13T22:36:16+00:00","note":"Read IBM bulletin 7296697: affected v1.0.8-1.0.11 and v1.1.0, fixed v1.1.1, IBM lists no workarounds. No exploitation or PoC seen; did not search social.","cites":["https://www.ibm.com/support/pages/node/7296697"]}],"documents":[{"id":150670,"url":"https://www.ibm.com/support/pages/node/7296697","title":"IBM Security Bulletin: ContextForge MCP Gateway DoS via incomplete jq denylist (CVE-2026-110189)","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"}