Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Author-role staff user
-
ExploitSend admin API delete request for another author's post or page
-
ImpactUnauthorized permanent content destruction
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
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 Author role on a multi-user Ghost instance running an affected version (5.81.0 up to but not including 6.60.0). The attacker must already possess valid Author-level credentials - there is no path for an anonymous or unauthenticated user - so single-author blogs and instances without delegated Author accounts are not realistically exposed. Exploitation targets posts and pages the attacker did not author; per the fix, both single deletes (now rejected unless the actor is the primary author) and bulk filter-based deletes were affected. The limiting factors are the required Author-role trust level and the existence of other authors' content to delete; no special non-default configuration or user interaction is needed beyond holding the Author role. |
| Impact | This is a moderate-severity broken-authorization flaw (CVSS 6.5, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, CWE-862 Missing Authorization). The CVSS vector shows network reach and low attack complexity, but the decisive constraint is PR:L: exploitation requires an already-provisioned Author-role staff account, so the realistic threat actor is a malicious or compromised low-trust staff member rather than an anonymous internet attacker. No EPSS score, SSVC decision, or CISA KEV status was supplied in the input, and no public exploit was identified - the only code artifact is the TryGhost fix commit itself, which is a patch, not weaponized exploit code. Weighing these signals together, this is a legitimate but bounded access-control issue: higher priority for multi-author Ghost instances that delegate content to semi-trusted contributors, and low priority for single-author or tightly-controlled deployments. The impact is scored as availability (A:H) for the destroyed posts/pages; note that unauthorized deletion of content is equally defensible as an integrity impact, so defenders should treat the harm as irreversible content loss regardless of which CVSS impact dimension is used. |
| Exploit ScenarioDerived | On a multi-author Ghost site running 5.81.0-6.59.x, a user holding only the Author role (e.g. a freelance contributor or a compromised low-privilege staff account) sends an admin API delete request targeting a post or page authored by someone else. Because the authorization check only validated contributors as primary authors and failed to constrain the Author role, the deletion succeeds and the victim's content is permanently removed. No public exploit is required - the operation uses the normal admin API delete endpoint; the fix commit also confirms bulk-delete of posts and pages was blocked. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Broken authorization in Ghost CMS versions 5.81.0 through 6.59.x lets an authenticated staff account with the Author role delete posts and pages authored by other users, including through bulk filter-based delete requests. The flaw is a missing primary-author check on the destroy path in the post model's permission logic (CWE-862), rated CVSS 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) - unauthenticated exploitation is not possible, and only multi-author instances with delegated Author accounts are realistically exposed. No public exploit code has been identified at time of analysis and there is no indication the issue has been actively exploited; Ghost fixed the behavior in version 6.60.0.
RemediationAI
Vendor-released patch: upgrade Ghost to 6.60.0, which is the first release containing commit cf2f718a67faa342c27989b701554ddd63862165 and re-enforces the primary-author requirement for all post and page destroy operations, including bulk filter-based deletes; upgrade instructions and release notes are at https://github.com/TryGhost/Ghost/releases/tag/v6.60.0 and the advisory is at https://github.com/TryGhost/Ghost/security/advisories/GHSA-x3mg-q38v-m562. If an immediate upgrade is not possible, the most effective compensating control is to reduce Author-role exposure: temporarily reassign Author accounts that do not need delete rights to the Contributor role, which already required primary authorship on the destroy path before this fix (the trade-off is that Contributor is a more restricted publishing role, so review editorial workflows before doing so), and disable or deactivate dormant Author accounts entirely since the flaw requires valid Author-level credentials. In parallel, keep reliable database and content backups so that any unauthorized deletions of other authors' posts or pages can be recovered, and monitor Admin API and audit logs for HTTP DELETE requests to /posts/ or /pages/ issued by Author-role users - especially filter-based bulk deletes, which the patched code now rejects with 403 and which are a strong signal of exploitation attempts. Note that neither role reassignment nor log monitoring eliminates the underlying authorization gap, so treating the version upgrade as the definitive fix is required.
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 content management system whose content pipeline is built on Bookshelf.js ORM models, including a dedicated Post model and an authorship relation layer implemented in ghost/core/core/server/models/relations/authors.js. Authorization is enforced in the Post model's permissible() function, which branches on the acting user's role (Owner, Administrator, Editor, Author, Contributor) and the operation (add/destroy/edit) and then decides whether permission is granted. CWE-862 (Missing Authorization) applies here because the destroy branch for the Author role lacked the primary-author verification that the Contributor destroy branch already performed: the pre-fix code granted Authors delete rights without confirming they owned the post, and the related isAuthor && isAdd branch was removed. The upstream commit cf2f718a67faa342c27989b701554ddd63862165 consolidates the two roles into a single condition - (isContributor || isAuthor) && isDestroy now resolves to Boolean(postModel) && isPrimaryAuthor() - so a delete is only allowed when a concrete post model exists and the actor is its primary author. That same change also makes the bulk destroy path (a filter-based delete with no specific post object) fail closed with a NoPermissionError, because postModel is undefined in that flow. Regression coverage added with the fix includes end-to-end admin API tests asserting HTTP 403 when an Author deletes another author's post, HTTP 204 only when deleting their own, and HTTP 403 for bulk deletes of both posts and pages, plus unit tests on Post.permissible() for the no-specific-post, other-author, and secondary-author cases.
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:N/A:H
Exploited over the admin API (AV:N, AC:L, UI:N) by an authenticated Author account (PR:L); irreversible content deletion is scored A:H with no confidentiality loss (integrity is an equally defensible alternative).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Ghost is a Node.js content management system. From 5.81.0 until 6.60.0, staff with the Author role could delete posts and pages that they did not author. This issue is fixed in version 6.60.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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-92771
GHSA-x3mg-q38v-m562
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB