{"id":"GHSA-v9cx-v88r-42vw","kind":"vulnerability","aliases":["GHSA-v9cx-v88r-42vw"],"related":[],"title":"Credential Permission Check Skips Nodes Whose Default Parameters Are Omitted","description":"## Impact\n\nBefore a workflow runs, n8n checks that its owner may use every credential the workflow references. That check only looked at credential slots it considered active, and it decided which slots were active from the parameters as stored, where default values are omitted. At execution the defaults are restored and the node uses the credential. A member can therefore save and run a workflow that references a credential they have no access to, and have its decrypted value sent to a destination they choose.\n\n## Patches\n\nThe issue has been fixed in n8n versions 1.123.85, 2.43.5, and 2.44.1. 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 credential ownership and remove any credentials from the instance that should not be accessible to member-level users.\n- Monitor execution logs for unexpected credential usage by member accounts.\n\nThese workarounds do not fully remediate the risk and should only be used as short-term mitigation measures.","summary":"n8n checks that a workflow's owner may use each credential it references, but the check misses credential slots whose default values are not stored, so a member can run a workflow that uses a credential they cannot access. The decrypted credential can then be sent to a destination the member chooses.","severity":"medium","cvss":5.1,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"n8n","fixed":[">= 1.123.85"],"affected":"< 1.123.85","ecosystem":"npm"},{"name":"n8n","fixed":[">= 2.44.1"],"affected":"< 2.44.1","ecosystem":"npm"},{"name":"n8n","fixed":[">= 2.43.5"],"affected":"< 2.43.5","ecosystem":"npm"}],"ecosystems":["npm"],"tags":["ai-tooling","credentials","n8n","self-hosted","workflows"],"not_affected_if":["single-user-instance","trusted-users-only"],"how_to_check":"- Check the installed version with `npm ls n8n` or the n8n version in the instance settings.\n- Confirm whether members have accounts on the instance who should not reach every credential, by reviewing credential sharing in the n8n UI.\n- Review execution logs for credential use by member accounts.","fix":"- Upgrade n8n 1.x to `1.123.85` or later.\n- Upgrade n8n 2.43.x to `2.43.5` or later.\n- Upgrade n8n 2.44.x to `2.44.1` or later.","status":"open","published_at":"2026-10-14T09:43:43+00:00","first_seen_at":"2026-11-09T22:53:26+00:00","triaged_at":"2026-11-09T22:56:58+00:00","updated_at":"2026-11-09T22:56:58+00:00","category":"ai-tooling","confidence":0.8,"triage":{"at":"2026-11-09T22:56:58Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade n8n 1.x to `1.123.85` or later.\n- Upgrade n8n 2.43.x to `2.43.5` or later.\n- Upgrade n8n 2.44.x to `2.44.1` or later.","reach":"network","title":"n8n: credential access check skips nodes with omitted default parameters","impact":"high","summary":"n8n checks that a workflow's owner may use each credential it references, but the check misses credential slots whose default values are not stored, so a member can run a workflow that uses a credential they cannot access. The decrypted credential can then be sent to a destination the member chooses.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["n8n","self-hosted","credentials","workflows"],"confidence":0.8,"fix_status":"available","needs_auth":"yes","worst_case":"decrypted credential sent to attacker-chosen destination by a member","analyst_note":"","how_to_check":"- Check the installed version with `npm ls n8n` or the n8n version in the instance settings.\n- Confirm whether members have accounts on the instance who should not reach every credential, by reviewing credential sharing in the n8n UI.\n- Review execution logs for credential use by member accounts.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["single-user-instance","trusted-users-only"],"who_is_affected":"Teams that run a self-hosted n8n instance with more than one member account, where members can create or run workflows that reference credentials. Instances where only fully trusted users have access are less exposed, as the advisory's workarounds suggest. The advisory does not describe exposure through managed hosting.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000804,"input_tokens":4927,"output_tokens":622,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'1.123.85':179C '2.43.5':180C '2.44.1':182C '42vw':15A,20A 'access':71B,157C,214C,234C 'account':249C 'activ':111C,118C 'administr':204C 'ai':25B 'ai-tool':24B 'audit':220C 'cannot':70B 'check':3A,34B,48B,91C,103C 'choos':84B,169C 'consid':110C,206C 'credenti':1A,27B,43B,50B,68B,74B,98C,107C,140C,153C,221C,226C,245C 'decid':114C 'decrypt':73B,162C 'default':7A,53B,125C,132C 'destin':81B,167C 'everi':97C 'execut':130C,241C 'fix':175C 'follow':208C 'fulli':216C,254C 'ghsa':12A,17A 'ghsa-v9cx-v88r-42vw':11A,16A 'host':31B 'immedi':202C 'impact':85C 'instanc':213C,229C 'issu':172C 'later':192C 'level':238C 'log':242C 'look':105C 'may':40B,95C 'measur':268C 'member':60B,83B,142C,237C,248C 'member-level':236C 'miss':49B 'mitig':210C,267C 'monitor':240C 'n8n':21A,22A,23A,28B,33B,90C,177C,212C 'node':5A,137C 'omit':10A,128C 'one':187C 'owner':39B,94C 'ownership':222C 'paramet':8A,121C 'patch':170C 'permiss':2A 'possibl':203C 'refer':45B,101C,151C 'remedi':194C,255C 'remov':224C 'restor':134C 'restrict':211C 'risk':257C 'run':62B,89C,147C 'save':145C 'self':30B 'self-host':29B 'sent':78B,164C 'short':265C 'short-term':264C 'skip':4A 'slot':51B,108C,116C 'store':57B,123C 'temporari':209C 'term':266C 'therefor':144C 'tool':26B 'trust':217C 'unexpect':244C 'upgrad':185C,199C 'usag':246C 'use':41B,66B,96C,138C,262C 'user':183C,218C,239C 'v88r':14A,19A 'v9cx':13A,18A 'valu':54B,126C,163C 'version':178C,190C 'vulner':196C 'whose':6A,52B 'workaround':197C,251C 'workflow':32B,37B,64B,88C,100C,149C","nicknames":[],"mitigations":[],"who_affected":"Teams that run a self-hosted n8n instance with more than one member account, where members can create or run workflows that reference credentials. Instances where only fully trusted users have access are less exposed, as the advisory's workarounds suggest. The advisory does not describe exposure through managed hosting.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["n8n"],"ptokens":["n8n"],"labels":["aitooling","credentials","medium","n8n","npm","selfhosted","workflows"],"campaign_type":null,"search_a":"'42vw':15A,20A 'check':3A 'credenti':1A 'default':7A 'ghsa':12A,17A 'ghsa-v9cx-v88r-42vw':11A,16A 'n8n':21A,22A,23A 'node':5A 'omit':10A 'paramet':8A 'permiss':2A 'skip':4A 'v88r':14A,19A 'v9cx':13A,18A 'whose':6A","search_b":"'access':71B 'ai':25B 'ai-tool':24B 'cannot':70B 'check':34B,48B 'choos':84B 'credenti':27B,43B,50B,68B,74B 'decrypt':73B 'default':53B 'destin':81B 'host':31B 'may':40B 'member':60B,83B 'miss':49B 'n8n':28B,33B 'owner':39B 'refer':45B 'run':62B 'self':30B 'self-host':29B 'sent':78B 'slot':51B 'store':57B 'tool':26B 'use':41B,66B 'valu':54B 'whose':52B 'workflow':32B,37B,64B","search_c":"'1.123.85':179C '2.43.5':180C '2.44.1':182C 'access':157C,214C,234C 'account':249C 'activ':111C,118C 'administr':204C 'audit':220C 'check':91C,103C 'choos':169C 'consid':110C,206C 'credenti':98C,107C,140C,153C,221C,226C,245C 'decid':114C 'decrypt':162C 'default':125C,132C 'destin':167C 'everi':97C 'execut':130C,241C 'fix':175C 'follow':208C 'fulli':216C,254C 'immedi':202C 'impact':85C 'instanc':213C,229C 'issu':172C 'later':192C 'level':238C 'log':242C 'look':105C 'may':95C 'measur':268C 'member':142C,237C,248C 'member-level':236C 'mitig':210C,267C 'monitor':240C 'n8n':90C,177C,212C 'node':137C 'omit':128C 'one':187C 'owner':94C 'ownership':222C 'paramet':121C 'patch':170C 'possibl':203C 'refer':101C,151C 'remedi':194C,255C 'remov':224C 'restor':134C 'restrict':211C 'risk':257C 'run':89C,147C 'save':145C 'sent':164C 'short':265C 'short-term':264C 'slot':108C,116C 'store':123C 'temporari':209C 'term':266C 'therefor':144C 'trust':217C 'unexpect':244C 'upgrad':185C,199C 'usag':246C 'use':96C,138C,262C 'user':183C,218C,239C 'valu':126C,163C 'version':178C,190C 'vulner':196C 'workaround':197C,251C 'workflow':88C,100C,149C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-14T09:43:43+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"ghsa-repo","external_id":"GHSA-v9cx-v88r-42vw","url":"https://github.com/n8n-io/n8n/security/advisories/GHSA-v9cx-v88r-42vw","severity":"medium","published_at":"2026-10-14T09:43:43+00:00","modified_at":"2026-10-14T09:43:43+00:00","first_seen_at":"2026-11-09T22:53:26+00:00","fetched_at":"2026-11-09T22:53:26+00:00","note":null}],"documents":[{"id":48858,"url":"https://github.com/n8n-io/n8n/security/advisories/GHSA-v9cx-v88r-42vw","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-14T09:43:43+00:00","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"}