← Back to CVE Explorer

CVE-2026-65595

Full vulnerability record from the local CVENow database.

Description

n8n before 2.30.1 and 2.29.8 assigns all Public API key scopes to JWTs issued through the Token Exchange module regardless of the acting user's role. On instances where the Token Exchange feature and Public API are enabled, a low-privileged user who can obtain a valid external JWT trusted by a configured issuer can use the resulting access token to invoke administrator-only Public API operations such as role escalation, user creation, and user deletion (role escalation requires an Advanced Permissions license), and, when unverified Community Package installation is enabled, achieve remote code execution.

Severity
HIGH
CVSS score
8.9 (v4.0)
Vulnerability status
Analyzed
Source identifier
Published
2026-07-22 12:18:19.660000
Last modified
2026-10-29 20:17:32.693000
View original CVE JSON
{
  "id": "CVE-2026-65595",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-22T12:18:19.660",
  "lastModified": "2026-10-29T20:17:32.693",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "n8n before 2.30.1 and 2.29.8 assigns all Public API key scopes to JWTs issued through the Token Exchange module regardless of the acting user's role. On instances where the Token Exchange feature and Public API are enabled, a low-privileged user who can obtain a valid external JWT trusted by a configured issuer can use the resulting access token to invoke administrator-only Public API operations such as role escalation, user creation, and user deletion (role escalation requires an Advanced Permissions license), and, when unverified Community Package installation is enabled, achieve remote code execution."
    },
    {
      "lang": "es",
      "value": "n8n antes de 2.30.1 y 2.29.8 asigna todos los alcances de clave de la API Pública a los JWT emitidos a través del módulo de Intercambio de Tokens independientemente del rol del usuario actuante. En instancias donde la función de Intercambio de Tokens y la API Pública están habilitadas, un usuario con pocos privilegios que puede obtener un JWT externo válido y de confianza para un emisor configurado puede usar el token de acceso resultante para invocar operaciones de la API Pública solo para administradores como escalada de roles, creación de usuarios y eliminación de usuarios (la escalada de roles requiere una licencia de Permisos Avanzados), y, cuando la instalación de Paquetes de la Comunidad no verificados está habilitada, lograr la ejecución remota de código."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "n8n-io",
          "product": "n8n",
          "defaultStatus": "unaffected",
          "packageURL": "pkg:npm/n8n",
          "versions": [
            {
              "version": "2.30.0",
              "lessThan": "2.30.1",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "2.30.1",
              "versionType": "semver",
              "status": "unaffected"
            }
          ]
        },
        {
          "vendor": "n8n-io",
          "product": "n8n",
          "defaultStatus": "unaffected",
          "packageURL": "pkg:npm/n8n",
          "versions": [
            {
              "version": "0",
              "lessThan": "2.29.8",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "2.29.8",
              "versionType": "semver",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/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",
          "baseScore": 8.9,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "PRESENT",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "vulnAvailabilityImpact": "HIGH",
          "subConfidentialityImpact": "HIGH",
          "subIntegrityImpact": "LOW",
          "subAvailabilityImpact": "LOW",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
          "baseScore": 8.8,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-23T13:51:37.064764Z",
          "id": "CVE-2026-65595",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-269"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:n8n:n8n:*:*:*:*:community:node.js:*:*",
              "versionEndExcluding": "2.29.8",
              "matchCriteriaId": "FAD58B22-8643-4BEA-B0CA-21AD13FA02F2"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:n8n:n8n:*:*:*:*:enterprise:node.js:*:*",
              "versionEndExcluding": "2.29.8",
              "matchCriteriaId": "9138B0FD-A50E-4E58-AA0D-A0595EA9B685"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:n8n:n8n:2.30.0:*:*:*:community:node.js:*:*",
              "matchCriteriaId": "E125F7EF-F72F-427F-82DE-D6A505B1DF8F"
            },
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:n8n:n8n:2.30.0:*:*:*:enterprise:node.js:*:*",
              "matchCriteriaId": "3C2780A0-55EC-488D-9149-EE83BA246A38"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/n8n-io/n8n/security/advisories/GHSA-777w-rpr6-c52h",
      "source": "[email protected]",
      "tags": [
        "Mitigation",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://www.vulncheck.com/advisories/n8n-before-privilege-escalation-via-token-exchange",
      "source": "[email protected]",
      "tags": [
        "Third Party Advisory"
      ]
    }
  ]
}