GHSA-GV6Q-2M97-882H
Vulnerability from github – Published: 2026-01-28 16:11 – Updated: 2026-01-28 16:12Impact
An attacker was able to craft a malicious link that, when accessed by an authenticated staff user or member, would execute JavaScript with the victim's permissions, potentially leading to account takeover.
Vulnerable versions
This vulnerability is present in Ghost versions: - v5.43.0 to v5.120.4 - v6.0.0 to v6.14.0
As well as in Portal versions: - v2.29.1 to v2.51.4 - v2.52.0 to v2.57.0
Patches
Ghost automatically loads the latest patch of the members Portal component via CDN. Therefore: - For Ghost 5.x users, upgrading to v5.121.0 or later fixes the vulnerability (loads Portal v2.51.5, which contains the patch) - For Ghost 6.x users, upgrading to v6.15.0 or later fixes the vulnerability (loads Portal v2.57.1, which contains the patch)
For Ghost installations using a customised or self-hosted version of Portal, it will be necessary to manually rebuild from or update to the latest patch version.
References
Ghost thanks Younes Belalia for discovering and disclosing this vulnerability responsibly.
For more information
If users have any questions or comments about this advisory, email Ghost at security@ghost.org.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "ghost"
},
"ranges": [
{
"events": [
{
"introduced": "5.43.0"
},
{
"fixed": "5.121.0"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@tryghost/portal"
},
"ranges": [
{
"events": [
{
"introduced": "2.29.1"
},
{
"fixed": "2.51.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@tryghost/portal"
},
"ranges": [
{
"events": [
{
"introduced": "2.52.0"
},
{
"fixed": "2.57.1"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "ghost"
},
"ranges": [
{
"events": [
{
"introduced": "6.0.0"
},
{
"fixed": "6.15.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-24778"
],
"database_specific": {
"cwe_ids": [
"CWE-79"
],
"github_reviewed": true,
"github_reviewed_at": "2026-01-28T16:11:59Z",
"nvd_published_at": "2026-01-27T22:15:57Z",
"severity": "HIGH"
},
"details": "### Impact\nAn attacker was able to craft a malicious link that, when accessed by an authenticated staff user or member, would execute JavaScript with the victim\u0027s permissions, potentially leading to account takeover. \n\n### Vulnerable versions\nThis vulnerability is present in Ghost versions:\n- v5.43.0 to v5.120.4\n- v6.0.0 to v6.14.0\n\nAs well as in Portal versions:\n- v2.29.1 to v2.51.4\n- v2.52.0 to v2.57.0\n\n### Patches\nGhost automatically loads the latest patch of the members Portal component via CDN. Therefore:\n- For Ghost 5.x users, upgrading to v5.121.0 or later fixes the vulnerability (loads Portal v2.51.5, which contains the patch)\n- For Ghost 6.x users, upgrading to v6.15.0 or later fixes the vulnerability (loads Portal v2.57.1, which contains the patch)\n\nFor Ghost installations using a customised or self-hosted version of Portal, it will be necessary to manually rebuild from or update to the latest patch version.\n\n### References\nGhost thanks Younes Belalia for discovering and disclosing this vulnerability responsibly.\n\n### For more information\nIf users have any questions or comments about this advisory, email Ghost at [security@ghost.org](mailto:security@ghost.org).",
"id": "GHSA-gv6q-2m97-882h",
"modified": "2026-01-28T16:12:00Z",
"published": "2026-01-28T16:11:59Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/TryGhost/Ghost/security/advisories/GHSA-gv6q-2m97-882h"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-24778"
},
{
"type": "WEB",
"url": "https://github.com/TryGhost/Ghost/commit/da858e640e88e69c1773a7b7ecdc2008fa143849"
},
{
"type": "PACKAGE",
"url": "https://github.com/TryGhost/Ghost"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "Ghost vulnerable to XSS via malicious Portal preview links"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.