CVE-2026-105679: Ghost: Stored XSS via File Uploads on Local Storage

Published Oct 5, 2026
·
Updated

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 security@ghost.org.

Other sources

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.

— NVD

Affected Software

2 affected componentsFixes available
Ghost Foundation Ghost>=6.22.1<6.64.0
npm/ghost>=6.22.1<6.64.0
6.64.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/ghost to a version that resolves this vulnerability.

    Fixed in 6.64.0
  2. Upgrade

    Upgrade Ghost to a version that resolves this vulnerability.

    Fixed in 6.64.0

Event History

Oct 5, 2026
CVE Published
via MITRE·07:22 PM
Data Sourced
via MITRE·07:22 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·08:17 PM
DescriptionSeverityWeakness
Oct 7, 2026
Advisory Published
via GitHub·08:25 PM
Data Sourced
via GitHub·08:25 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which deployments are affected?

Ghost versions from 6.22.1 through 6.64.0 are affected when they use the default local storage adapter. The issue is fixed in Ghost 6.64.0.

2

What access does an attacker need?

An attacker needs staff-level access that permits uploading files. Exploitation also requires another staff user to interact with content that causes the uploaded script to execute.

3

What is the likely impact?

A staff user can upload a file served with a content type based on its extension and use it to host script on the site's domain. This may allow compromise of other staff users' admin sessions.

4

What should be done if patching cannot happen immediately?

The provided information identifies the default local storage adapter as affected, but does not provide a documented workaround. Prioritize restricting file-upload access to trusted staff and upgrade to 6.64.0 when possible.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203