CVE-2026-105679
Ghost: Stored XSS via File Uploads on Local Storage
Ghost is a Node.js content management system. From 6.22.1 until 6.64.0, Ghost restricted the content type used to serve uploaded files to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.64.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
7.3
Ghost: Stored XSS via File Uploads on Local Storage
Ghost is a Node.js content management system. From 6.22.1 until 6.64.0, Ghost restricted the content type used to serve uploaded files to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.64.0.
- Record
CVE-2026-105679- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-79, CWE-434
- Updated
- 2026-11-02
EUVDEUVD-2026-92770
7.3
Ghost is a Node.js content management system. From 6.22.1 until 6.64.0, Ghost restricted the content type used to serve uploaded files to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.64.0.
- Record
EUVD-2026-92770- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-gfjp-2p8f-94qv
7.3
Ghost: Stored XSS via File Uploads on Local Storage
Impact
Ghost restricts the content type that uploaded files are served with, to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions.
Vulnerable versions
This vulnerability is present in Ghost from v6.22.1 up to v6.64.0.
Patches
v6.64.0 contains a fix for this issue.
How to update
For self-hosters using Docker, find Docker's official Ghost image here. Updating a Docker-based Ghost instance is documented here.
If your Ghost is a Ghost-CLI install see our documentation on updating it to the latest version here.
References
Ghost thanks evertrustai, Thai Son Dinh of VinSOC Labs, Enis Atılgan, Doan Manh Duc, Harshit Gupta (Mr HAX), 白墨, and Mukul of Parameter for disclosing this vulnerability responsibly.
For more information
If you have any questions or comments about this advisory, email us at [email protected].
- Record
GHSA-gfjp-2p8f-94qv- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-79, CWE-434
- Updated
- 2026-11-02
NVD
7.3
Ghost is a Node.js content management system. From 6.22.1 until 6.64.0, Ghost restricted the content type used to serve uploaded files to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.64.0.
- Record
CVE-2026-105679- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-79, CWE-434
- Updated
- 2026-11-02
OSVCVE-2026-104411
8.5
Ghost 6.22.1 before 6.64.0 Stored XSS via Local Storage File Uploads
Ghost from 6.22.1 before 6.64.0 contains a stored cross-site scripting vulnerability that allows staff users to host scripts by uploading files served with extension-derived content types on the default local storage adapter. Attackers can upload script-bearing files to the site's domain to compromise other staff users' admin sessions.
- Record
CVE-2026-104411- CVSS 4.0
- 8.5 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
7.3
Ghost: Stored XSS via File Uploads on Local Storage
Ghost is a Node.js content management system. From 6.22.1 until 6.64.0, Ghost restricted the content type used to serve uploaded files to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.64.0.
- Record
CVE-2026-105679- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-434, CWE-79
- Updated
- 2026-11-02
OSVGHSA-gfjp-2p8f-94qv
7.3
Ghost: Stored XSS via File Uploads on Local Storage
Impact
Ghost restricts the content type that uploaded files are served with, to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions.
Vulnerable versions
This vulnerability is present in Ghost from v6.22.1 up to v6.64.0.
Patches
v6.64.0 contains a fix for this issue.
How to update
For self-hosters using Docker, find Docker's official Ghost image here. Updating a Docker-based Ghost instance is documented here.
If your Ghost is a Ghost-CLI install see our documentation on updating it to the latest version here.
References
Ghost thanks evertrustai, Thai Son Dinh of VinSOC Labs, Enis Atılgan, Doan Manh Duc, Harshit Gupta (Mr HAX), 白墨, and Mukul of Parameter for disclosing this vulnerability responsibly.
For more information
If you have any questions or comments about this advisory, email us at [email protected].
- Record
GHSA-gfjp-2p8f-94qv- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N - Weakness
- CWE-434, CWE-79
- Updated
- 2026-11-02
OSVBIT-ghost-2026-104411 No score
Ghost 6.22.1 before 6.64.0 Stored XSS via Local Storage File Uploads
Ghost from 6.22.1 before 6.64.0 contains a stored cross-site scripting vulnerability that allows staff users to host scripts by uploading files served with extension-derived content types on the default local storage adapter. Attackers can upload script-bearing files to the site's domain to compromise other staff users' admin sessions.
- Record
BIT-ghost-2026-104411- Updated
- 2026-11-02
OSVBIT-ghost-2026-105679 No score
Ghost: Stored XSS via File Uploads on Local Storage
Ghost is a Node.js content management system. From 6.22.1 until 6.64.0, Ghost restricted the content type used to serve uploaded files to prevent browsers from executing them. On sites using the default local storage adapter, this restriction was not applied, so files uploaded by any staff user were served with a content type derived from their file extension. This could be used to host scripts on the site's domain, possibly resulting in compromise of other staff users' admin sessions. This issue is fixed in version 6.64.0.
- Record
BIT-ghost-2026-105679- Updated
- 2026-11-02
Affected products
Affected packages
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-105679 is a high vulnerability (CVSS 7.3) in Tryghost Ghost, published October 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.24%, the 14th percentile. Fixed in ghost 6.64.0.
References
github.com/TryGhost/Ghost/security/advisories/GHSA-gfjp-2p8f-94qv
github.com/TryGhost/Ghost/pull/30762
github.com/TryGhost/Ghost/commit/58669d5c8b898f8b69c1287c2779b29ecc7eb918
github.com/TryGhost/Ghost/releases/tag/v6.64.0
nvd.nist.gov/vuln/detail/CVE-2026-105679
github.com/advisories/GHSA-gfjp-2p8f-94qv
Show 5 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-104411
vulncheck.com/advisories/ghost-6.22.1-before-6.64.0-stored-xss-via-local-storage-file-uploads
github.com/CVEProject/cvelistV5/tree/main/cves/2026/104xxx/CVE-2026-104411.json
github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105679.json
github.com/TryGhost/Ghost