Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Editor/Super Editor
-
ExploitSend crafted user role-update API request
-
ExecutionBypass role-assignment permission check
-
ImpactPromote Author/Contributor to Editor
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated staff account with the Editor or Super Editor role on a Ghost instance running between 0.5.0 and 6.63.x (fixed in 6.64.0), plus the existence of target Author or Contributor accounts to promote. Exploitation is performed through the Ghost Admin API user-update (PUT users/:id) endpoint by echoing the attacker's own Editor role onto another user. Limiting factors: the attacker must already hold Editor-level trust (not a remote outsider), user interaction is not needed, and the escalation is bounded - only the attacker's own (Editor) role can be assigned, so Author/Contributor targets cannot be pushed to Administrator or Owner. A legitimate self-edit that echoes back an unchanged role is explicitly not affected. |
| Impact | This is a CVSS 4.3 (Medium) privilege-escalation flaw (CWE-269) whose signals consistently point to modest, insider-dependent risk rather than an urgent priority. The provided CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N requires an already-authenticated low-privileged actor (PR:L) - specifically a staff user holding the Editor or Super Editor role - so this is not a remote unauthenticated compromise. Impact is integrity-only and limited (I:L, C:N, A:N, S:U): the attacker can grant the Editor role to Author/Contributor accounts but cannot reach Administrator or Owner, bounding the escalation to the Editor tier. No EPSS score was provided in the input, so exploitation probability cannot be quantified. The CVE is not listed in CISA KEV and no public exploit was identified - the only code artifact is the vendor fix commit, which is a patch, not a proof-of-concept. All signals align (low CVSS, no KEV, no POC, authenticated-only, limited integrity impact), with no conflicts to flag; the main missing datum is EPSS. Net: treat as a routine insider/authorization hardening fix, prioritized by how many semi-trusted Editor accounts exist, not as an emergency. |
| Exploit ScenarioDerived | A malicious or compromised Ghost staff user holding the Editor (or Super Editor) role sends a crafted user-update request to the Admin API assigning the Editor role to an Author or Contributor account they influence, bypassing the role-hierarchy check that should forbid editors from granting the editor role. This elevates lower-privileged accounts to Editor despite the attacker lacking permission to assign that role. No public exploit exists, but the vendor fix commit (99c5642) discloses the exact faulty authorization branch. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Authenticated staff holding the Editor or Super Editor role in Ghost CMS versions 0.5.0 through 6.63.x can escalate the privileges of Author and Contributor accounts by assigning their own Editor role to those users through the Ghost Admin API, even though they lack permission to grant that role. The flaw is bounded - attackers can only confer their own Editor-level role and cannot push targets to Administrator or Owner - and exploitation requires an existing, trusted staff account rather than outsider access. No public exploit code was identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV), but the vendor released a fix in version 6.64.0, so unpatched, multi-role Ghost publications should upgrade promptly.
RemediationAI
Upgrade Ghost to version 6.64.0 or later, which is the vendor-released patch that corrects the role-assignment guard in the core user model; the release is documented at https://github.com/TryGhost/Ghost/releases/tag/v6.64.0, the advisory at https://github.com/TryGhost/Ghost/security/advisories/GHSA-4pvx-fwjj-8gpc, and the underlying change is commit 99c5642b9bb481df4811a004a6f19d6143ed9aaf. Where immediate upgrading is not possible, compensating controls include auditing and minimizing the number of Editor and Super Editor accounts (each one is a potential escalation source), reviewing the Ghost Admin API for unexpected PUT users/:id requests that change roles on Author or Contributor users and alerting on those, and temporarily resetting any account whose role was unexpectedly elevated back to its intended level - noting that these are detective and risk-reducing measures, not a substitute for the patch, and that restricting or disabling Ghost's user-management endpoints would also break legitimate staff administration. Because exploitation requires a pre-existing trusted staff login, prioritize patching any Ghost instance where Editor-tier access is broadly granted or where staff onboarding/offboarding is loosely controlled.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghost is a Node.js-based content management system, and the affected component is its user model (ghost/core/core/server/models/user.js) built on the Bookshelf ORM. The root cause is CWE-269, Improper Privilege Management: the role-assignment guard only invoked the authorization check when the submitted role differed from the requesting user's own context role (the condition roleId ! contextRoleId). That meant when an Editor submitted their own Editor role ID, the code treated it as a no-op and skipped the hierarchical assign check entirely, allowing the Editor to write that same role onto a different user such as an Author or Contributor. The fix (commit 99c5642b9bb481df4811a004a6f19d6143ed9aaf) changes the condition to roleId ! contextRoleId || editedUserId !== context.user, so any role assignment targeting another user always passes through the permission check; only a genuine self-edit that echoes back an unchanged role bypasses it. Because the escalation is confined to the attacker's own role, the impact is horizontal-to-limited-vertical movement within the Editor tier rather than full administrative takeover, which is consistent with the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N (low integrity impact, no confidentiality or availability impact). The affected product is captured by the CPE cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:* across all releases prior to 6.64.0.
Know when Ghost gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Editor acts over the authenticated Admin API (AV:N, AC:L, PR:L, UI:N); impact is limited integrity via unauthorized role assignment (I:L) with no confidentiality or availability effect and no scope change.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Ghost is a Node.js content management system. From 0.5.0 until 6.64.0, staff users with the Editor or Super Editor role were able to assign their own role to Author and Contributor users, despite not having permission to assign that role. This issue is fixed in version 6.64.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Ghost CMS versions 5.105.0-5.130.5 and 6.0.0-6.10.3 contain an authentication bypass in their two-factor authentication
Arbitrary code execution in Ghost CMS versions 0.7.2 through 6.19.0 allows authenticated attackers with theme upload pri
An arbitrary file upload vulnerability in the file upload module of Ghost CMS v4.42.0 allows attackers to execute arbitr
An arbitrary file upload vulnerability in the file upload module of Ghost v4.39.0 allows attackers to execute arbitrary
SQL injection in Ghost CMS versions 3.24.0 through 6.19.0 allows unauthenticated attackers to read arbitrary database da
Ghost through 5.85.1 allows remote attackers to bypass an authentication rate-limit protection mechanism by using many X
Ghost through 5.76.0 allows stored XSS, and resultant privilege escalation in which a contributor can take over any acco
Ghost before 5.82.0 allows CSV Injection during a member CSV export. Rated high severity (CVSS 8.8), this vulnerability
Server-side request forgery (SSRF) vulnerability in Ghost CMS < 3.10.0 allows an attacker to scan local or external netw
Ghost before 5.42.1 allows remote attackers to read arbitrary files within the active theme's folder via /assets/built%2
Ghost is a Node.js CMS. Rated medium severity (CVSS 6.8), this vulnerability is remotely exploitable, no authentication
Ghost is an open source content management system. Rated medium severity (CVSS 6.5), this vulnerability is remotely expl
EUVD-2026-92769
GHSA-4pvx-fwjj-8gpc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB