From 5031996560625cefc8caaa647079accf57b2b791 Mon Sep 17 00:00:00 2001 From: Malayke Date: Wed, 22 Jul 2026 23:14:55 +0800 Subject: [PATCH] Improve GHSA-mhvh-gwhr-76pw --- .../GHSA-mhvh-gwhr-76pw.json | 78 ++++++++++++++++++- 1 file changed, 75 insertions(+), 3 deletions(-) diff --git a/advisories/unreviewed/2026/07/GHSA-mhvh-gwhr-76pw/GHSA-mhvh-gwhr-76pw.json b/advisories/unreviewed/2026/07/GHSA-mhvh-gwhr-76pw/GHSA-mhvh-gwhr-76pw.json index f34d94b56508f..395d0227786ea 100644 --- a/advisories/unreviewed/2026/07/GHSA-mhvh-gwhr-76pw/GHSA-mhvh-gwhr-76pw.json +++ b/advisories/unreviewed/2026/07/GHSA-mhvh-gwhr-76pw/GHSA-mhvh-gwhr-76pw.json @@ -1,19 +1,87 @@ { "schema_version": "1.4.0", "id": "GHSA-mhvh-gwhr-76pw", - "modified": "2026-07-22T12:32:18Z", + "modified": "2026-07-22T12:32:25Z", "published": "2026-07-22T12:32:18Z", "aliases": [ "CVE-2026-65599" ], + "summary": "n8n: Google Service Account private key exposed in JWT kid header", "details": "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.", "severity": [ { "type": "CVSS_V4", - "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X" + "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/SA:L" + } + ], + "affected": [ + { + "package": { + "ecosystem": "npm", + "name": "n8n" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0" + }, + { + "fixed": ">= 1.123.64" + } + ] + } + ], + "database_specific": { + "last_known_affected_version_range": "< 1.123.64" + } + }, + { + "package": { + "ecosystem": "npm", + "name": "n8n" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "2.0.0" + }, + { + "fixed": ">= 2.29.8" + } + ] + } + ], + "database_specific": { + "last_known_affected_version_range": "< 2.29.8" + } + }, + { + "package": { + "ecosystem": "npm", + "name": "n8n" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "2.30.0" + }, + { + "fixed": ">= 2.30.1" + } + ] + } + ], + "database_specific": { + "last_known_affected_version_range": "< 2.30.1" + } } ], - "affected": [], "references": [ { "type": "WEB", @@ -23,6 +91,10 @@ "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-65599" }, + { + "type": "PACKAGE", + "url": "https://github.com/n8n-io/n8n" + }, { "type": "WEB", "url": "https://www.vulncheck.com/advisories/n8n-before-credential-exposure-via-jwt-header"