{"id":"CVE-2021-29484","aliases":["BIT-ghost-2021-29484","EUVD-2021-0804","GHSA-9fgx-q25h-jxrg"],"status":"published","title":"DOM XSS in Theme Preview","description":"Ghost is a Node.js CMS. An unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. Ghost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. Self-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site. The issue has been fixed in 4.3.3, all 4.x sites should upgrade as soon as possible. As the endpoint is unused, the patch simply removes it. As a workaround blocking access to /ghost/preview can also mitigate the issue.","severity":{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.07935,"percentile":0.94772,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2021-04-29T20:35:15Z","modified":"2026-10-20T10:54:37Z","exploits":[{"source":"nuclei","id":"CVE-2021-29484","title":"Ghost CMS \u003c=4.32 - Cross-Site Scripting","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2021/CVE-2021-29484.yaml"}],"fixes":[{"ecosystem":"npm","package":"ghost","fixed_in":["4.3.3"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"ghost","fixed_in":["4.3.3"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"ghost","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.3.3"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"ghost","ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0"},{"fixed":"4.3.3"}]}]},{"source":"osv","ecosystem":"npm","package":"ghost","ranges":[{"type":"SEMVER","events":[{"introduced":"4.0.0"},{"fixed":"4.3.3"}]}]}],"products":[{"vendor":"ghost","product":"ghost"},{"vendor":"tryghost","product":"ghost"}],"references":[{"url":"https://github.com/TryGhost/Ghost/security/advisories/GHSA-9fgx-q25h-jxrg","tags":["x_refsource_CONFIRM","x_transferred","Mitigation","Third Party Advisory","advisory","web"]},{"url":"https://forum.ghost.org/t/critical-security-update-available-for-ghost-4-x/22290","tags":["x_refsource_MISC","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://www.npmjs.com/package/ghost","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","advisory","web"]},{"url":"https://blog.sonarsource.com/ghost-admin-takeover","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Third Party Advisory","advisory","evidence","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-29484","tags":["web","advisory"]},{"url":"https://security.netapp.com/advisory/ntap-20210618-0006/"},{"url":"https://github.com/TryGhost/Ghost/commit/14b3431de12e674a0bd562e9230e2891b6903ae2","tags":["web"]},{"url":"https://github.com/advisories/GHSA-9fgx-q25h-jxrg"},{"url":"https://github.com/TryGhost/Ghost","tags":["package"]},{"url":"https://security.netapp.com/advisory/ntap-20210618-0006","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2021-29484","title":"DOM XSS in Theme Preview","description":"Ghost is a Node.js CMS. An unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. Ghost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. Self-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site. The issue has been fixed in 4.3.3, all 4.x sites should upgrade as soon as possible. As the endpoint is unused, the patch simply removes it. As a workaround blocking access to /ghost/preview can also mitigate the issue.","status":"published","published":"2021-04-29T20:35:15Z","modified":"2024-08-03T22:11:05.475Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:33:06.32268Z"}],"euvd":[{"id":"EUVD-2021-0804","description":"Ghost is a Node.js CMS. An unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. Ghost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. Self-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site. The issue has been fixed in 4.3.3, all 4.x sites should upgrade as soon as possible. As the endpoint is unused, the patch simply removes it. As a workaround blocking access to /ghost/preview can also mitigate the issue.","status":"published","published":"2021-04-29T20:35:15Z","modified":"2024-08-03T22:11:05Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-03T03:24:44.540278Z"}],"ghsa":[{"id":"GHSA-9fgx-q25h-jxrg","title":"DOM XSS in Theme Preview","description":"### Impact\nAn unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. \n\nGhost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. \n\nSelf-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site - see patches \u0026 workarounds below.\n\n### Patches\nFixed in 4.3.3, all 4.x sites should upgrade as soon as possible.\nAs the endpoint is unused, the patch simply removes it. \n\n### Workarounds\n- Log out of Ghost Admin\n- Suspend any users who cannot log out\n- Block access to `/ghost/preview`\n\nExample of how to block access in nginx:\n\n```\nlocation ~ /ghost/preview {\n    rewrite ^(\\/(.*\\/)?ghost\\/)(.*)$ $1 redirect;\n}\n```\n\nThis redirects the endpoint to `/ghost/`, which mimics the behaviour after the patch is applied.\n\n### References\n\n- [Forum Post](https://forum.ghost.org/t/critical-security-update-available-for-ghost-4-x/22290)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* email us at security@ghost.org\n\n\n---\nCredits: Paul Gerste, SonarSource (https://www.sonarsource.com/)","status":"published","published":"2021-04-29T21:53:18Z","modified":"2023-04-08T05:00:42Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:36:50.476488Z"}],"nvd":[{"id":"CVE-2021-29484","description":"Ghost is a Node.js CMS. An unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. Ghost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. Self-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site. The issue has been fixed in 4.3.3, all 4.x sites should upgrade as soon as possible. As the endpoint is unused, the patch simply removes it. As a workaround blocking access to /ghost/preview can also mitigate the issue.","status":"published","published":"2021-04-29T21:15:08.59Z","modified":"2026-06-17T03:47:44.237Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"2.0","score":4.3,"vector":"AV:N/AC:M/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:06:52.81233Z"}],"osv":[{"id":"CVE-2021-29484","description":"Ghost is a Node.js CMS. An unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. Ghost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. Self-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site. The issue has been fixed in 4.3.3, all 4.x sites should upgrade as soon as possible. As the endpoint is unused, the patch simply removes it. As a workaround blocking access to /ghost/preview can also mitigate the issue.","status":"published","published":"2021-04-29T21:15:08.59Z","modified":"2026-10-20T10:54:37.464961797Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:19.129331Z"},{"id":"GHSA-9fgx-q25h-jxrg","title":"DOM XSS in Theme Preview","description":"### Impact\nAn unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. \n\nGhost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. \n\nSelf-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site - see patches \u0026 workarounds below.\n\n### Patches\nFixed in 4.3.3, all 4.x sites should upgrade as soon as possible.\nAs the endpoint is unused, the patch simply removes it. \n\n### Workarounds\n- Log out of Ghost Admin\n- Suspend any users who cannot log out\n- Block access to `/ghost/preview`\n\nExample of how to block access in nginx:\n\n```\nlocation ~ /ghost/preview {\n    rewrite ^(\\/(.*\\/)?ghost\\/)(.*)$ $1 redirect;\n}\n```\n\nThis redirects the endpoint to `/ghost/`, which mimics the behaviour after the patch is applied.\n\n### References\n\n- [Forum Post](https://forum.ghost.org/t/critical-security-update-available-for-ghost-4-x/22290)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* email us at security@ghost.org\n\n\n---\nCredits: Paul Gerste, SonarSource (https://www.sonarsource.com/)","status":"published","published":"2021-04-29T21:53:18Z","modified":"2026-07-08T06:27:25.078743737Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:43.524801Z"},{"id":"BIT-ghost-2021-29484","title":"DOM XSS in Theme Preview","description":"Ghost is a Node.js CMS. An unused endpoint added during the development of 4.0.0 has left sites vulnerable to untrusted users gaining access to Ghost Admin. Attackers can gain access by getting logged in users to click a link containing malicious code. Users do not need to enter credentials and may not know they've visited a malicious site. Ghost(Pro) has already been patched. We can find no evidence that the issue was exploited on Ghost(Pro) prior to the patch being added. Self-hosters are impacted if running Ghost a version between 4.0.0 and 4.3.2. Immediate action should be taken to secure your site. The issue has been fixed in 4.3.3, all 4.x sites should upgrade as soon as possible. As the endpoint is unused, the patch simply removes it. As a workaround blocking access to /ghost/preview can also mitigate the issue.","status":"published","published":"2024-03-06T10:54:24.871Z","modified":"2026-09-08T08:47:17.537467506Z","updated_at":"2026-11-02T15:28:29.999658Z"}]}}
