CVE-2026-103288 is an authorization bypass vulnerability in the Ghost blogging platform's comment like feature. It allows authenticated members to delete comment likes or dislikes they are not authorized to remove. This issue affects Ghost versions from 5.9.0 up to but not including 6.44.1. The vulnerability is fixed in version 6.44.1.
Ghost, a Node.js content management system, had a path traversal vulnerability in versions 6.14.0 through 6.26.0. This vulnerability allowed staff users to access local files outside the intended data storage directories due to an input validation issue. The issue was fixed in version 6.27.0. The vulnerability has a low severity score and requires staff-level privileges to exploit.
A vulnerability in Ghost, a Node.js content management system, allowed unauthorized access to comments due to improper input validation. This issue affected versions from 5.9.0 up to but not including 6.44.1 and was fixed in version 6.44.1.
A cross-site scripting (XSS) vulnerability exists in TryGhost Ghost versions 6.22.1 through 6.64.0. The issue arises because the default local storage adapter does not enforce content type restrictions on uploaded files, allowing scripts to be hosted on the site's domain. This can lead to compromise of other staff users' admin sessions. The vulnerability is fixed in version 6.64.0.
A cross-site scripting (XSS) vulnerability exists in TryGhost Ghost when creating bookmark cards. Non-image files fetched from external websites could be stored as bookmark icons or thumbnails, allowing any staff user, including Contributors, to host arbitrary HTML on the site's domain. This may lead to compromise of other staff users' admin sessions. The vulnerability affects Ghost versions from 5.94.0 up to but not including 6.64.0. Version 6.64.0 contains a fix for this issue.
CVE-2026-105650 is a cross-site scripting (XSS) vulnerability in the TryGhost Ghost blogging platform affecting versions from 2.5.0 up to but not including 6.64.0. The flaw allows attacker-controlled URLs to embed untrusted scripts in post content, which may execute in the Ghost editor, on published sites, and in newsletter emails. This could lead to compromise of a staff user's administrative session. The issue is fixed in version 6.64.0.
A cross-site scripting (XSS) vulnerability exists in TryGhost Ghost where SVG media thumbnails and SVG images uploaded with incorrect file extensions were stored without proper sanitization. This flaw allows any staff user, including Contributors, to host malicious scripts on the site's domain, potentially compromising other staff users' admin sessions. The vulnerability affects Ghost versions from 4.22.0 up to but not including 6.65.0. Version 6.65.0 contains a fix for this issue.
CVE-2026-105643 is a cross-site scripting (XSS) vulnerability in the Ghost blogging platform affecting versions from 6.34.0 up to but not including 6.67.0. The flaw allows any staff user, including Contributors, to embed scripts in post content that execute when another staff user opens the post in the editor, potentially compromising the admin session of that user. The issue arises from improper neutralization of input during web page generation related to embed cards in the Ghost editor. The vulnerability has been fixed in version 6.67.0.
Ghost (npm package 'ghost') versions from 3.23.0 up to, but not including, 6.23.0 expose API keys to users with low-privilege staff accounts. An authenticated low-privilege staff user can read API keys returned by the Admin API, which are intended to be available only to higher-privileged users.
CVE-2026-70596 is a cross-site scripting (XSS) vulnerability in Ghost CMS affecting feature image captions. It allows any staff user to create a post with malicious content that could hijack another staff user's admin session, leading to privilege escalation. The issue affects Ghost versions from 4.9.0 up to 6.54.0 and is fixed in version 6.54.1.
Ghost, a Node.js content management system, has a server-side request forgery (SSRF) vulnerability affecting versions from 6.26.0 up to but not including 6.54.1. This flaw allowed unauthenticated users to abuse certain functionality, such as Webmentions, to make limited HTTP requests to internal hosts on the Ghost server's network. The vulnerability does not expose response data to the attacker. The issue is fixed in version 6.54.1.
Ghost is a Node.js content management system. From 6.27.0 before 6.44.0, Ghost's public donation checkout flow allowed an unauthenticated attacker to control donation checkout metadata and obtain full paid gift memberships for a minimal payment without exposing customer or member data or stealing money from a site or its members. This issue is fixed in version 6.44.0.
### Impact
The validation applied to filters on the public API endpoints could be partially bypassed, making it possible to reveal private fields via a brute force attack. If SQLite was used as the database password hashes were fully accessible. If MySQL was used as the database the password hashes' case (uppercase / lowercase) would have been lost, which would likely have rendered a further brute force attack on the discovered hashes fruitless.
### Vulnerable versions
This vulnerability is present in Ghost from v5.46.1 up to v6.21.1.
### Patches
v6.21.2 contains a fix for this issue.
### How to update
For self-hosters using Docker, find [Docker's official Ghost image here](https://hub.docker.com/_/ghost). Updating a Docker-based Ghost instance [is documented here](https://docs.ghost.org/install/docker#updating-ghost).
If your Ghost is a Ghost-CLI install see our documentation on [updating it to the latest version here](https://docs.ghost.org/update).
### Workarounds
If upgrading immediately is not possible, block or filter requests to Content API endpoints where the `filter` query parameter contains `password` or `email` (including any compound form such as `users.password`, `users.email`, `authors.password`, `authors.email`). Reject requests at a reverse proxy / WAF layer before they reach Ghost.
Example (case-insensitive) pattern to block on the raw querystring:
```
filter=[^&]*(password|email)
```
### References
Ghost thanks crnkovic for disclosing this vulnerability responsibly.
### For more information
If you have any questions or comments about this advisory, email Ghost at [security@ghost.org](mailto:security@ghost.org).
Ghost is a Node.js content management system. From until 6.37.0, when Ghost is behind a shared caching layer that results in cached content being shared between different visitors, an unauthenticated user could send an x-ghost-preview header that altered the rendered frontend response. In affected cache configurations, that response could be stored and served to subsequent visitors requesting the same page, allowing cache poisoning of request-specific preview output. When running Ghost's frontend and admin panel on the same domain this could be used to take over staff user accounts. When running these on different domains staff accounts have no exposure. This vulnerability is fixed in 6.37.0.
Ghost is a Node.js content management system. From 6.19.4 until 6.21.1, when re-rendering posts, Ghost would refetch missing image dimensions by issuing an outbound HTTP request to the URL stored on an image card — without restricting that URL to trusted image hosts. An authenticated staff user able to create or edit posts could therefore point an image card at an attacker-chosen host and cause the Ghost server to request it on their behalf, including hosts on internal networks or cloud instance metadata endpoints that would not normally be reachable from the public internet. This vulnerability is fixed in 6.21.1.
Ghost is a Node.js content management system. From version 5.101.6 to 6.19.2, incomplete CSRF protections around /session/verify made it possible to use OTCs in login sessions different from the requesting session. In some scenarios this might have made it easier for phishers to take over a Ghost site. This issue has been patched in version 6.19.3.
A vulnerability in the Ghost Node.js content management system allows specially crafted malicious themes to execute arbitrary code on the server. This affects Ghost versions from 0.7.2 up to but not including 6.19.1. The issue has been patched in version 6.19.1.
Ghost is a Node.js content management system. In versions 5.38.0 through 5.130.5 and 6.0.0 through 6.10.3, a vulnerability in Ghost’s media inliner mechanism allows staff users in possession of a valid authentication token for the Ghost Admin API to exfiltrate data from internal systems via SSRF. This issue has been patched in versions 5.130.6 and 6.11.0.