Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as staff user
-
DeliverySend bulk edit/delete request with authors.password filter
-
ExploitObserve which filters match as oracle
-
ExecutionInfer target hash incrementally
-
PersistPerform offline password cracking
-
ImpactCompromise other staff account
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Timing-safe comparisons
|
| Exploitation Conditions | Requires an authenticated Ghost staff-level account (PR:L) with access to the Admin API bulk post and page edit/delete endpoints. The attacker supplies filters referencing restricted fields such as authors.password; the vulnerable versions (5.42.2 up to but not including 6.58.0) fail to reject these filters on the bulk operation code paths (an incomplete fix for CVE-2026-70590). What limits exploitation: it only yields indirect hash inference requiring subsequent offline password cracking (not immediate credential recovery), it needs a pre-existing trusted staff account, and it is fully remediated in 6.58.0 which returns HTTP 400 for restricted-field filters. |
| Impact | This is a genuine but modest-priority issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L) correctly frames it as a network-reachable, low-complexity flaw requiring authentication (PR:L = a staff-level account) with low confidentiality impact and no integrity or availability impact. CWE-203 (observable discrepancy) is accurate: the bug is a side-channel/inference oracle, not direct data exposure - an attacker learns password-hash content indirectly from which bulk-filter queries match, then must still run offline brute-force/dictionary attacks to recover plaintext passwords. Exploitation status: no public exploit identified at time of analysis (no POC, no EPSS score, not in CISA KEV). The patch is confirmed available (vendor advisory GHSA-ghq6-q78f-2cpg and commit 5ef16abe). The 5.3 score is appropriate - real but gated behind an existing trusted (staff) account, and the payoff is probabilistic hash inference rather than immediate compromise. Notably this is an INCOMPLETE FIX for CVE-2026-70590, meaning the original remediation missed the Admin API bulk edit/delete code paths; that recurrence slightly raises attention but the practical risk remains low-to-medium. |
| Exploit ScenarioDerived | A malicious or compromised staff user (e.g. an Editor/Author account) calls the Ghost Admin API bulk post or page edit/delete endpoints supplying filters on the restricted field authors.password (e.g. prefix-style match expressions). By observing which filtered bulk operations match records, they infer another staff user's stored password-hash content character by character, then conduct an offline guessing attack against the recovered hash. No public exploit code is known, and the attack requires an authenticated staff account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Authenticated staff-level users of Ghost CMS (versions 5.42.2 up to but not including 6.58.0) can infer other staff users' password hashes by supplying Admin API bulk post and page edit/delete filters that reference restricted fields such as authors.password. Because the bulk operation code paths fail to reject these restricted-field filters, the match/no-match behaviour acts as a boolean oracle that leaks information about the stored hash, which an attacker can then attack with offline password-guessing (cracking) - it does not hand over credentials directly. This is a genuine but modest-priority authenticated information disclosure (CVSS 5.3, assessed CVSS:3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N, CWE-203); there is no CISA KEV entry and no public exploit identified at time of analysis, and the issue is fully remediated in Ghost 6.58.0.
RemediationAI
Vendor-released patch: upgrade Ghost to 6.58.0 or later - the fix commit (https://github.com/TryGhost/Ghost/commit/5ef16abe85e9b71ac3f1b1e2cbc462802efe3b5b) makes the bulk post/page edit and delete paths reject any filter containing restricted fields such as authors.password with an HTTP 400 BadRequestError, closing the inference channel; see GHSA-ghq6-q78f-2cpg for the vendor advisory. If an immediate upgrade is not possible, treat every staff account as a potential oracle: restrict Admin API access to the smallest possible set of trusted personnel, review and remove dormant or low-privilege staff accounts (the attack requires an authenticated staff session, so reducing staff account count directly shrinks the attack surface), and force password resets for staff users whose hashes may have been probed - noting the trade-off that resetting hashes invalidates nothing for the attacker's already-collected inference but does change the secret being attacked. As a compensating control, a reverse-proxy or WAF rule that rejects Admin API bulk requests whose filter parameter references password or other restricted segments will block the known probe pattern, at the cost of possibly breaking legitimate automations that use unusual filters. Finally, monitor Admin API logs for repeated bulk post/page edit or delete calls with crafted filter values, since such patterns are the observable signature of hash-inference attempts and, on vulnerable versions, are the only place the activity surfaces because the requests succeed rather than returning 400 as they do after patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghost's Admin API exposes bulk edit and bulk delete endpoints for posts and pages that accept an NQL-style filter string, which is translated by the @tryghost/mongo-utils package into a database query against the posts collection (CWE-203, Observable Discrepancy). The vulnerable code in ghost/core/core/server/services/posts/posts-service.js passed the attacker-supplied filter straight into models.Post.getFilteredCollectionQuery() on the bulkDestroy and bulkEdit paths, without applying the restricted-field rejection logic that already protected the Content API and other code paths - an incomplete fix for the earlier CVE-2026-70590. Because the filter may join the authors relation, predicates such as authors.password:... were evaluated against the stored password hash, and the API response (success/error, matched counts, or delete/edit behaviour) differed depending on whether the predicate matched. That turns the endpoint into a blind inference channel against the password column, and the leaked hash material can subsequently be fed into offline password cracking due to Ghost's use of deliberately slow password hashing, which raises the cost of the attack but does not eliminate it. The official fix (commit 5ef16abe85e9b71ac3f1b1e2cbc462802efe3b5b) introduces validateAdminApiBulkFilterTransformer, which uses getUsedKeys() plus hasRestrictedSegment() to reject any filter touching ADMIN_API_RESTRICTED_FIELDS with a 400 BadRequestError before the query is built, and routes all bulk paths through a single #getFilteredBulkPostQuery helper so the guard cannot be bypassed.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network Admin API, low complexity, requires a staff account (PR:L); low confidentiality via indirect hash inference, no integrity/availability impact and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Ghost 5.42.2 before 6.58.0 contains an information disclosure vulnerability in the Admin API bulk post and page edit and delete endpoints, which accept filters on restricted fields such as authors.password, because of an incomplete fix for CVE-2026-70590. Staff-level attackers can infer other staff users' password hashes from which filters match and perform offline password-guessing attacks against them.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-90668
GHSA-xqw5-w9qm-w396
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB