CVE-2026-65599
CVE-2026-65599 · n8n before 1.123.64, 2.29.8, and 2.30.1 Credential Exposure via JWT Header
This page contains facts from public vulnerability sources. Check the original advisory before updating.
n8n versions before 1.123.64, 2.29.8, and 2.30.1 contain a credential exposure vulnerability: when configured with a Google Service Account key, the full PEM private key was mistakenly placed in the JWT header's kid field (intended only for a key identifier). Because JWT headers are Base64-encoded rather than encrypted, the private key could be recovered by anything that logged or inspected the JWT. An attacker who obtained the key could impersonate the service account and access or modify any Google Cloud resource it was authorized to use. Only instances using Google Service Account credentials are affected.
CVSS 5.1 · Medium · EPSS 0.2% · Fix available
- Published
- Updated
Stack: node
Affected products and versions
n8n
- Versions
- ≥ 0, < 1.123.64: Affected (semver)
- 1.123.64: Not affected (semver)
Update to 1.123.64
n8n
- Versions
- ≥ 0, < 2.30.1: Affected (semver)
- 2.30.1: Not affected (semver)
Update to 2.30.1
n8n
- Versions
- ≥ 0, < 2.29.8: Affected (semver)
- 2.29.8: Not affected (semver)
Update to 2.29.8
n8n npm
- Affected ranges
- SEMVER: < 1.123.64
Update to 1.123.64
n8n npm
- Affected ranges
- SEMVER: ≥ 2.30.0, < 2.30.1
Update to 2.30.1
n8n npm
- Affected ranges
- SEMVER: ≥ 2.0.0-rc.0, < 2.29.8
Update to 2.29.8