Skip to content
MediumVulnerability

GHSA-5m98-cgcr-xx3q: n8n: GitHub Trigger 422 Reuse Path Skips Webhook Secret Storage, Causing Signature Verification to Fail-Open

Published
Record updated
View JSON
Affected
  • n8n >= 2.0.0, < 2.37.7, fixed in 2.37.7, released September 2, 2026, 8 days before disclosure
  • n8n >= 2.38.0, < 2.38.2, fixed in 2.38.2, released September 2, 2026, 8 days before disclosure
  • n8n < 1.123.76, fixed in 1.123.76, released September 2, 2026, 8 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.3%

Summary

The n8n GitHub Trigger node generated a signing secret when registering a webhook but discarded it when GitHub returned a 422 because a hook for the URL already existed. Signature verification on X-Hub-Signature-256 then accepted deliveries to that workflow's webhook URL from anyone. The fix re-fetches the existing hook by its stored id, re-applies the signing secret, and makes verification fail closed when no secret is stored.

Mitigation

Fixed in n8n versions 1.123.76, 2.37.7, and 2.38.2; upgrade to one of these or later. If upgrading is not immediately possible, temporary workarounds are: deactivate and reactivate GitHub Trigger workflows after deleting the remote GitHub hook so a new secret is generated; restrict network access to the n8n webhook endpoint to GitHub's published IP ranges; and audit GitHub Trigger static data for entries with a webhookId but no webhookSecret, treating those workflows as unprotected until reactivated. The source states these workarounds do not fully remediate the risk and are short-term measures only.