Skip to main content

Ghost CMS EUVDEUVD-2026-92773

| CVE-2026-105682 LOW
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-05 GitHub_M GHSA-354h-gmhv-mr9c
2.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as privileged staff user
  2. Delivery
    Create webhook targeting internal host
  3. Exploit
    Trigger subscribed event
  4. Execution
    Ghost server issues internal request
  5. Impact
    Observe responses to map internal services

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

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 Ghost staff user with permission to create or edit webhooks (the webhooks feature, present from 1.18.0 through pre-6.27.0). Exploitation depends on the vulnerable default behavior in versions before 6.27.0 where webhook delivery used the internal @tryghost/request library without SSRF/IP filtering, allowing the target_url to resolve to internal hosts. Limiting factors: no unauthenticated access (privileged account needed), impact restricted to blind/semi-blind internal host probing rather than full response retrieval or RCE, and the issue is fully mitigated in 6.27.0 where internal IPs are blocked unless an operator explicitly sets the new security:allowWebhookInternalIPs flag to true.

Impact

This is a genuinely low-priority finding despite being a network-vector SSRF. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N = 2.7 Low) is internally consistent with the description: exploitation requires an already-authenticated, privileged Ghost staff user (PR:H) who can create or edit webhooks, and the impact is limited to low-confidentiality information disclosure (C:L) - probing/mapping internal hosts - with no integrity or availability impact. No EPSS score was provided, the CVE is NOT on CISA KEV, and no public exploit (POC) was supplied, so there is no public exploit identified at time of analysis. The key tension is the privilege model: SSRF is only reachable by a trusted staff member, making this primarily an insider/post-compromise lateral-reconnaissance issue rather than an externally weaponizable flaw. The source commit confirms the root cause and fix - webhook delivery is routed through an external-only request library (request-external) by default, gated behind a new security:allowWebhookInternalIPs config flag that defaults to false. No data is strongly conflicting; the main caveat is that 'staff users' in the prose is mapped to PR:H, which is a reasonable but assumption-dependent interpretation of Ghost's webhook/integration privilege requirement.

Exploit ScenarioDerived

An authenticated Ghost staff user with access to create or edit webhooks configures a webhook target URL pointing at an internal address (e.g. a cloud metadata endpoint or an internal service). When the subscribed event fires, the Ghost server itself issues the outbound request, letting the attacker enumerate reachable internal hosts and services and infer their responses. No public exploit code was provided; the attack leverages normal webhook functionality rather than a memory-safety bug.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Server-side request forgery in the Ghost CMS webhooks feature (versions 1.18.0 through releases prior to 6.27.0) allows an authenticated staff user who can create or edit webhooks to point a webhook target_url at internal hosts and force the Ghost server to issue requests to them. The CVSS vector (AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N, score 2.7) confirms this is a network-reachable but privileged-account-required issue whose impact is limited to low confidentiality loss - blind or semi-blind probing rather than response retrieval or code execution - and there is no public exploit identified at time of analysis. Ghost 6.27.0 fixes the issue by routing webhook delivery through a request library that blocks internal IPs unless the operator explicitly opts in via a new configuration flag.

RemediationAI

Vendor-released patch: upgrade to Ghost 6.27.0, the version in which webhook delivery no longer follows redirects or resolutions into internal address space unless explicitly permitted. Upgrading is the only complete fix and introduces no downside for standard installations, because the new security:allowWebhookInternalIPs configuration key defaults to false in core/shared/config/defaults.json. If an immediate upgrade is not possible, note that the exploitable condition is the combination of a privileged staff account plus the pre-6.27.0 unfiltered request library, so compensating controls should target that path: restrict the Staff role capability that grants webhook creation/editing to a minimal, trusted set of administrators so untrusted editors cannot supply an arbitrary target_url, and/or apply outbound egress filtering (for example, deny the Ghost host access to RFC1918 ranges, link-local 169.254.0.0/16, and loopback) at the network or container layer. The egress-filtering trade-off is that it will also block legitimate webhook deliveries to internal services, which must then be explicitly allowlisted. On upgraded deployments, do NOT set security:allowWebhookInternalIPs to true unless internal webhook delivery is genuinely required - doing so deliberately restores the legacy behavior and the SSRF exposure, so any operator who enables it should treat the feature as equivalent to intentionally allowing the Ghost server to reach private networks.

Affected VersionsENISA

Ghost 1.18.0, < 6.27.0

Affected Packages

npm ghost fix: 6.27.0

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, and its webhooks subsystem lets staff-configured integrations receive HTTP callbacks on events such as post.added. The vulnerable code lived in ghost/core/core/server/services/webhooks/webhook-trigger.js, which instantiated the internal @tryghost/request helper for delivery without any SSRF or private-range IP filtering, making the attacker-controlled target_url the server's outbound request destination. This is CWE-918 (Server-Side Request Forgery): user-supplied URLs are fetched by the server without validation of the resolved destination. The upstream commit 815962dd2760e55c5dc8d0fb7fac732a7634566f addresses the root cause by conditionally loading a new module, core/lib/request-external, whenever the configuration value security:allowWebhookInternalIPs is false - and that value is added to defaults.json as false, meaning secure behavior is the default. The new request-external path performs DNS resolution (the accompanying integration test stubs dns.promises.lookup to validate this) so it can reject destinations that resolve to internal addresses, while the flag preserves backwards compatibility for self-hosters who legitimately deliver webhooks to internal services. The fix also pins the outbound call to method: 'POST'.

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

Vendor (GitHub_M) PRIMARY 2.7 LOW
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 2.7 LOW

Webhook creation requires a privileged staff/integration account (PR:H) over the network with no user interaction; impact is limited to low-confidentiality internal host probing (C:L), with no integrity or availability effect.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 05, 2026 - 21:02 EUVD

DescriptionCVE.org

Ghost is a Node.js content management system. From 1.18.0 until 6.27.0, an SSRF vulnerability in the webhooks feature allowed staff users to probe internal hosts from the Ghost server. This issue is fixed in version 6.27.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular open-source Node.js CMS, common but far below WordPress scale
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

14
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +14
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

More in Ghost

View all
CVE-2026-22594 HIGH POC
8.1 Jan 10

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

CVE-2026-29053 HIGH POC
7.6 Mar 05

Arbitrary code execution in Ghost CMS versions 0.7.2 through 6.19.0 allows authenticated attackers with theme upload pri

CVE-2022-28397 CRITICAL POC
9.8 Apr 12

An arbitrary file upload vulnerability in the file upload module of Ghost CMS v4.42.0 allows attackers to execute arbitr

CVE-2022-27139 CRITICAL POC
9.8 Apr 12

An arbitrary file upload vulnerability in the file upload module of Ghost v4.39.0 allows attackers to execute arbitrary

CVE-2026-26980 CRITICAL POC
9.4 Feb 20

SQL injection in Ghost CMS versions 3.24.0 through 6.19.0 allows unauthenticated attackers to read arbitrary database da

CVE-2024-34451 CRITICAL POC
9.1 Jun 16

Ghost through 5.85.1 allows remote attackers to bypass an authentication rate-limit protection mechanism by using many X

CVE-2024-23724 CRITICAL POC
9.0 Feb 11

Ghost through 5.76.0 allows stored XSS, and resultant privilege escalation in which a contributor can take over any acco

CVE-2024-34448 HIGH POC
8.8 May 22

Ghost before 5.82.0 allows CSV Injection during a member CSV export. Rated high severity (CVSS 8.8), this vulnerability

CVE-2020-8134 HIGH POC
8.1 Mar 20

Server-side request forgery (SSRF) vulnerability in Ghost CMS < 3.10.0 allows an attacker to scan local or external netw

CVE-2023-32235 HIGH POC
7.5 May 05

Ghost before 5.42.1 allows remote attackers to read arbitrary files within the active theme's folder via /assets/built%2

CVE-2021-29484 MEDIUM POC
6.8 Apr 29

Ghost is a Node.js CMS. Rated medium severity (CVSS 6.8), this vulnerability is remotely exploitable, no authentication

CVE-2023-40028 MEDIUM POC
6.5 Aug 15

Ghost is an open source content management system. Rated medium severity (CVSS 6.5), this vulnerability is remotely expl

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy