{"id":"GHSA-c772-hjfp-gfc2","kind":"vulnerability","aliases":["GHSA-c772-hjfp-gfc2"],"related":[],"title":"Integration Nodes Send Authenticated Requests to Unintended API Endpoints","description":"## Impact\n\nMultiple n8n nodes built the URL path of their API requests from node parameters such as record, table or resource IDs. These values were not encoded, so a value containing relative path segments could change which endpoint of the same service the request reached. Where a workflow passed untrusted input, such as a webhook body, into one of these parameters, a caller could make the node read, modify or delete resources outside the workflow's intended scope, with the privileges of the node's stored credential.\n\n## Patches\n\nThe issue has been fixed in n8n versions 1.123.96, 2.47.6, 2.48.3 and 3.2.2. Users should upgrade to one of these versions or later to remediate the vulnerability.\n\n## Workarounds\n\nIf upgrading is not immediately possible, administrators should consider the following temporary mitigations:\n- Restrict n8n instance access to fully trusted users only.\n- Audit active workflows and ensure that node parameters holding record, table or resource IDs do not incorporate untrusted external data via expressions.\n- Apply network-level controls to restrict access to webhook endpoints that feed into these workflows.\n- Limit the permissions of the credentials used by affected workflows to the resources those workflows need.\n- Deactivate affected workflows until the instance is patched.\n\nThese workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.","summary":"Several n8n integration nodes build API request paths from unencoded parameters such as record or table IDs, so relative path segments can redirect a request to another endpoint of the same service. An attacker who can feed untrusted input, such as a webhook body, into those parameters can read, modify or delete resources using the node's stored credential.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"n8n","fixed":["1.123.96"],"affected":"< 1.123.96","ecosystem":"npm"},{"name":"n8n","fixed":["3.2.2"],"affected":"< 3.2.2","ecosystem":"npm"},{"name":"n8n","fixed":["2.48.3"],"affected":"< 2.48.3","ecosystem":"npm"},{"name":"n8n","fixed":["2.47.6"],"affected":"< 2.47.6","ecosystem":"npm"}],"ecosystems":["npm"],"tags":["ai-tooling","n8n","self-hosted","webhooks"],"not_affected_if":["no-untrusted-input-in-id-parameters","patched-version"],"how_to_check":"- Check the n8n version with `n8n --version` or the package.json of the n8n install.\n- Find workflows whose node parameters for record, table or resource IDs use expressions that include webhook or other external data.","fix":"- Upgrade n8n to `1.123.96`, `2.47.6`, `2.48.3` or `3.2.2` or later, matching your release line.","status":"open","published_at":"2026-11-13T10:55:41+00:00","first_seen_at":"2026-11-13T11:06:24+00:00","triaged_at":"2026-11-13T11:07:01+00:00","updated_at":"2026-11-13T11:07:01+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-11-13T11:07:01Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade n8n to `1.123.96`, `2.47.6`, `2.48.3` or `3.2.2` or later, matching your release line.","reach":"network","title":"n8n: integration nodes send authenticated requests to unintended API endpoints","impact":"high","summary":"Several n8n integration nodes build API request paths from unencoded parameters such as record or table IDs, so relative path segments can redirect a request to another endpoint of the same service. An attacker who can feed untrusted input, such as a webhook body, into those parameters can read, modify or delete resources using the node's stored credential.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["n8n","self-hosted","webhooks"],"confidence":0.8,"fix_status":"available","needs_auth":"unknown","worst_case":"Reads, modifies or deletes resources in connected services using stored credentials","analyst_note":"","how_to_check":"- Check the n8n version with `n8n --version` or the package.json of the n8n install.\n- Find workflows whose node parameters for record, table or resource IDs use expressions that include webhook or other external data.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["patched-version","no-untrusted-input-in-id-parameters"],"who_is_affected":"Self-hosted or cloud n8n instances that run workflows where untrusted input, such as a webhook body, reaches the ID or resource parameters of an affected integration node. Workflows that only use fixed IDs or trusted input are not exposed through this path.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000789,"input_tokens":5036,"output_tokens":571,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'1.123.96':187C '2.47.6':188C '2.48.3':189C '3.2.2':191C 'access':223C,258C 'activ':230C 'administr':213C 'affect':275C,284C 'ai':25B 'ai-tool':24B 'anoth':58B 'api':8A,37B,101C 'appli':251C 'attack':65B 'audit':229C 'authent':4A 'bodi':75B,146C 'build':36B 'built':95C 'c772':12A,17A 'caller':153C 'chang':126C 'consid':215C 'contain':121C 'control':255C 'could':125C,154C 'credenti':90B,177C,272C 'data':248C 'deactiv':283C 'delet':83B,161C 'encod':117C 'endpoint':9A,59B,128C,261C 'ensur':233C 'express':250C 'extern':247C 'feed':68B,263C 'fix':183C 'follow':217C 'fulli':225C,295C 'gfc2':14A,19A 'ghsa':11A,16A 'ghsa-c772-hjfp-gfc2':10A,15A 'hjfp':13A,18A 'hold':237C 'host':30B 'id':48B,112C,242C 'immedi':211C 'impact':91C 'incorpor':245C 'input':70B,141C 'instanc':222C,288C 'integr':1A,34B 'intend':167C 'issu':180C 'later':201C 'level':254C 'limit':267C 'make':155C 'measur':309C 'mitig':219C,308C 'modifi':81B,159C 'multipl':92C 'n8n':20A,21A,22A,23A,27B,33B,93C,185C,221C 'need':282C 'network':253C 'network-level':252C 'node':2A,35B,87B,94C,104C,157C,174C,235C 'one':148C,196C 'outsid':163C 'paramet':42B,78B,105C,151C,236C 'pass':139C 'patch':178C,290C 'path':39B,51B,98C,123C 'permiss':269C 'possibl':212C 'privileg':171C 'reach':135C 'read':80B,158C 'record':45B,108C,238C 'redirect':54B 'relat':50B,122C 'remedi':203C,296C 'request':5A,38B,56B,102C,134C 'resourc':84B,111C,162C,241C,279C 'restrict':220C,257C 'risk':298C 'scope':168C 'segment':52B,124C 'self':29B 'self-host':28B 'send':3A 'servic':63B,132C 'sever':32B 'short':306C 'short-term':305C 'store':89B,176C 'tabl':47B,109C,239C 'temporari':218C 'term':307C 'tool':26B 'trust':226C 'unencod':41B 'unintend':7A 'untrust':69B,140C,246C 'upgrad':194C,208C 'url':97C 'use':85B,273C,303C 'user':192C,227C 'valu':114C,120C 'version':186C,199C 'via':249C 'vulner':205C 'webhook':31B,74B,145C,260C 'workaround':206C,292C 'workflow':138C,165C,231C,266C,276C,281C,285C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted or cloud n8n instances that run workflows where untrusted input, such as a webhook body, reaches the ID or resource parameters of an affected integration node. Workflows that only use fixed IDs or trusted input are not exposed through this path.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["n8n"],"ptokens":["n8n"],"labels":["aitooling","medium","n8n","npm","selfhosted","webhooks"],"campaign_type":null,"search_a":"'api':8A 'authent':4A 'c772':12A,17A 'endpoint':9A 'gfc2':14A,19A 'ghsa':11A,16A 'ghsa-c772-hjfp-gfc2':10A,15A 'hjfp':13A,18A 'integr':1A 'n8n':20A,21A,22A,23A 'node':2A 'request':5A 'send':3A 'unintend':7A","search_b":"'ai':25B 'ai-tool':24B 'anoth':58B 'api':37B 'attack':65B 'bodi':75B 'build':36B 'credenti':90B 'delet':83B 'endpoint':59B 'feed':68B 'host':30B 'id':48B 'input':70B 'integr':34B 'modifi':81B 'n8n':27B,33B 'node':35B,87B 'paramet':42B,78B 'path':39B,51B 'read':80B 'record':45B 'redirect':54B 'relat':50B 'request':38B,56B 'resourc':84B 'segment':52B 'self':29B 'self-host':28B 'servic':63B 'sever':32B 'store':89B 'tabl':47B 'tool':26B 'unencod':41B 'untrust':69B 'use':85B 'webhook':31B,74B","search_c":"'1.123.96':187C '2.47.6':188C '2.48.3':189C '3.2.2':191C 'access':223C,258C 'activ':230C 'administr':213C 'affect':275C,284C 'api':101C 'appli':251C 'audit':229C 'bodi':146C 'built':95C 'caller':153C 'chang':126C 'consid':215C 'contain':121C 'control':255C 'could':125C,154C 'credenti':177C,272C 'data':248C 'deactiv':283C 'delet':161C 'encod':117C 'endpoint':128C,261C 'ensur':233C 'express':250C 'extern':247C 'feed':263C 'fix':183C 'follow':217C 'fulli':225C,295C 'hold':237C 'id':112C,242C 'immedi':211C 'impact':91C 'incorpor':245C 'input':141C 'instanc':222C,288C 'intend':167C 'issu':180C 'later':201C 'level':254C 'limit':267C 'make':155C 'measur':309C 'mitig':219C,308C 'modifi':159C 'multipl':92C 'n8n':93C,185C,221C 'need':282C 'network':253C 'network-level':252C 'node':94C,104C,157C,174C,235C 'one':148C,196C 'outsid':163C 'paramet':105C,151C,236C 'pass':139C 'patch':178C,290C 'path':98C,123C 'permiss':269C 'possibl':212C 'privileg':171C 'reach':135C 'read':158C 'record':108C,238C 'relat':122C 'remedi':203C,296C 'request':102C,134C 'resourc':111C,162C,241C,279C 'restrict':220C,257C 'risk':298C 'scope':168C 'segment':124C 'servic':132C 'short':306C 'short-term':305C 'store':176C 'tabl':109C,239C 'temporari':218C 'term':307C 'trust':226C 'untrust':140C,246C 'upgrad':194C,208C 'url':97C 'use':273C,303C 'user':192C,227C 'valu':114C,120C 'version':186C,199C 'via':249C 'vulner':205C 'webhook':145C,260C 'workaround':206C,292C 'workflow':138C,165C,231C,266C,276C,281C,285C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-13T10:55:41+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"ghsa-repo","external_id":"GHSA-c772-hjfp-gfc2","url":"https://github.com/n8n-io/n8n/security/advisories/GHSA-c772-hjfp-gfc2","severity":"medium","published_at":"2026-11-13T10:55:41+00:00","modified_at":"2026-11-13T10:55:41+00:00","first_seen_at":"2026-11-13T11:06:24+00:00","fetched_at":"2026-11-13T11:06:24+00:00","note":null}],"documents":[{"id":145547,"url":"https://github.com/n8n-io/n8n/security/advisories/GHSA-c772-hjfp-gfc2","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa-repo","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"}],"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"}