CVE-2026-104414
validatedZero produced an exploit or a check.GHSA-7wpv-mphg-4gmw ↗EUVD-2026-91425 ↗
description
Ghost versions 2.5.0 through versions before 6.64.0 are affected by stored cross-site scripting in oEmbed photo responses. An attacker who can cause a malicious oEmbed URL to be embedded can store script content that executes in the Ghost editor, on published sites, and in newsletter emails, potentially compromising staff sessions.
mitigation
Upgrade the Ghost npm package to version 6.64.0 or later. Until upgraded, restrict embedding of untrusted oEmbed URLs to reduce exposure.
fixed in 6.64.0
outcome
Check only, differential: the check fires on the vulnerable build and is silent on the patched one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-02 11:37Zcve_org: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/CVE-2026-104414
{ "etk_id": "ETK-2026-335", "cve_id": "CVE-2026-104414", "display_id": "CVE-2026-104414", "ghsa_id": "GHSA-7wpv-mphg-4gmw", "euvd_id": "EUVD-2026-91425", "status": "published", "anchor_state": "anchored", "title": "Stored cross-site scripting in Ghost oEmbed photo handling", "summary": "Ghost versions 2.5.0 through versions before 6.64.0 are affected by stored cross-site scripting in oEmbed photo responses. An attacker who can cause a malicious oEmbed URL to be embedded can store script content that executes in the Ghost editor, on published sites, and in newsletter emails, potentially compromising staff sessions.", "mitigation": "Upgrade the Ghost npm package to version 6.64.0 or later. Until upgraded, restrict embedding of untrusted oEmbed URLs to reduce exposure.", "vendor": "TryGhost", "product": "Ghost", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 2.5.0, < 6.64.0" ], "ecosystem": "npm", "fixed_versions": [ "6.64.0" ], "package_name": "ghost", "purl": "pkg:npm/ghost" } ], "cwes": [ 79 ], "cvss_score": 8.6, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N", "epss_score": 0.0028, "epss_percentile": 0.1906, "epss_asof": "2026-10-20", "automation": "deterministic", "check": true, "check_confidence_basis": "differential", "exploit": false, "pipeline_minutes": 37.73837158333333, "t0_at": "2026-10-02T11:37:57.719000+00:00", "signals": { "check": { "at": "2026-10-03T13:41:12.493686+00:00", "days": 1.0855876699768519, "is_lower_bound": false, "measured_at": "2026-10-02T11:37:57.719000+00:00", "url": null }, "trigger_signal": { "at": "2026-10-02T11:37:57.719000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-10-02T11:37:57.719000+00:00", "url": "https://www.cve.org/CVERecord?id=CVE-2026-104414" } } }
published 2026-10-02 12:36Z
last change 2026-10-21 15:05Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.