{"items":[{"id":"NVI-00014003","kind":"vulnerability","title":"n8n: Per-Resource OAuth Consent Bypass via Unbound Refresh Token Resource Substitution","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-cw9w-vv67-hf73","CVE-2026-86073"],"plain_summary":"GitHub lists this reviewed advisory for n8n, n8n. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-2fef60bb3a6265e5296476d98092bacb"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-2fef60bb3a6265e5296476d98092bacb","url":"https://github.com/advisories/GHSA-cw9w-vv67-hf73","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-cw9w-vv67-hf73","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T22:54:05.264Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-2fef60bb3a6265e5296476d98092bacb"],"technology":"n8n","known_exclusions":[],"conditions_summary":"## Impact\n\nThe OAuth token endpoint bound an authorization code's first access token to the consented resource, but not its refresh token. Refreshing only checked that the requested resource was registered, not that it matched the original grant. An OAuth client approved for one workflow could refresh with a different workflow's URL and get a valid, unapproved token for it. The patch binds refresh tokens to the granted resource and rejects mismatches.\n\nExploitation requires the attacker to register an OAuth client, convince an authenticated user to approve that client for one known protected resource, and know the URL of a second protected resource that the consenting user is permitted to execute.\n\n## Patches\n\nThe issue has been fixed in n8n versions 2.38.1 and 2.37.7. Users should upgrade to this version 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- Deactivate MCP Trigger, form, and webhook workflows that are protected by the n8n OAuth server if they are not required.\n- Audit connected OAuth clients ","public_affected_ranges":[">= 2.38.0, < 2.38.1"]},{"certainty":"source_listed","source_ids":["sr-2fef60bb3a6265e5296476d98092bacb"],"technology":"n8n","known_exclusions":[],"conditions_summary":"## Impact\n\nThe OAuth token endpoint bound an authorization code's first access token to the consented resource, but not its refresh token. Refreshing only checked that the requested resource was registered, not that it matched the original grant. An OAuth client approved for one workflow could refresh with a different workflow's URL and get a valid, unapproved token for it. The patch binds refresh tokens to the granted resource and rejects mismatches.\n\nExploitation requires the attacker to register an OAuth client, convince an authenticated user to approve that client for one known protected resource, and know the URL of a second protected resource that the consenting user is permitted to execute.\n\n## Patches\n\nThe issue has been fixed in n8n versions 2.38.1 and 2.37.7. Users should upgrade to this version 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- Deactivate MCP Trigger, form, and webhook workflows that are protected by the n8n OAuth server if they are not required.\n- Audit connected OAuth clients ","public_affected_ranges":["< 2.37.7"]}],"null_published_at":"2026-11-02T10:00:37.196Z","source_updated_at":"2026-09-10T21:21:49.000Z","source_disclosed_at":"2026-09-10T21:21:49.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T22:54:05.264Z"}],"next_cursor":null,"snapshot_revision":"42594"}