n8n's Missing Stripe-Signature Verification Allows Unauthenticated Forged Webhooks
Medium6.5CVE-2026-21894 · Published Jan 7, 2026 · updated Feb 3, 2026
### Impact An authentication bypass in the Stripe Trigger node allows unauthenticated parties to trigger workflows by sending forged Stripe webhook events. The Stripe Trigger creates and stores a Stripe webhook signing secret when registering the webhook endpoint, but incoming webhook requests were not verified against this secret. As a result, any HTTP client that knows the webhook URL could send a POST request containing a matching event `type`, causing the workflow to execute as if a legitimate Stripe event had been received. This issue affects n8n users who have active workflows using the Stripe Trigger node. An attacker could potentially fake payment or subscription events and influence downstream workflow behavior. The practical risk is reduced by the fact that the webhook URL contains a high-entropy UUID; however, authenticated n8n users with access to the workflow can view this webhook ID. ### Patches The issue has been fixed in n8n version 2.2.2. Users should upgrade to this version or later to ensure that Stripe webhook signatures are properly verified. ### Workarounds There is no complete workaround short of upgrading. As a temporary mitigation, users can deactivate ...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| n8n npm | >= 0.150.0, < 2.2.2 | 2.2.2 |
Details and references
### Impact An authentication bypass in the Stripe Trigger node allows unauthenticated parties to trigger workflows by sending forged Stripe webhook events. The Stripe Trigger creates and stores a Stripe webhook signing secret when registering the webhook endpoint, but incoming webhook requests were not verified against this secret. As a result, any HTTP client that knows the webhook URL could send a POST request containing a matching event `type`, causing the workflow to execute as if a legitimate Stripe event had been received. This issue affects n8n users who have active workflows using the Stripe Trigger node. An attacker could potentially fake payment or subscription events and influence downstream workflow behavior. The practical risk is reduced by the fact that the webhook URL contains a high-entropy UUID; however, authenticated n8n users with access to the workflow can view this webhook ID. ### Patches The issue has been fixed in n8n version 2.2.2. Users should upgrade to this version or later to ensure that Stripe webhook signatures are properly verified. ### Workarounds There is no complete workaround short of upgrading. As a temporary mitigation, users can deactivate affected workflows or restrict access to workflows containing Stripe Trigger nodes to trusted users only.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-290
- Also known as
- CVE-2026-21894
More n8n advisories
All n8n| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jan 13 | n8n: Webhook Node IP Whitelist Bypass via Partial String Matching | Medium5.3 | 2.2.0 |
| Jan 7 | n8n Vulnerable to Unauthenticated File Access via Improper Webhook Request Handling | Critical10.0 | 1.121.0 |
| Jan 6 | n8n Vulnerable to RCE via Arbitrary File Write | Critical9.9 | 1.121.3 |
| Dec 262025 | Self-hosted n8n has Legacy Code node that enables arbitrary file read/write | High7.1 | 2.0.0 |
| Dec 262025 | n8n Vulnerable to Arbitrary Command Execution in Pyodide based Python Code Node | Critical9.9 | 2.0.0 |
| Dec 262025 | n8n's Possible Stored XSS in "Respond to Webhook" Node May Execute Outside iframe Sandbox | High7.3 | 1.114.0 |