Skip to content
Heist/ feed
Back to feed
HighFix available

Ghost: Stored XSS via File Uploads on Local Storage

Type: advisorySources: OSV

### 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](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). ### References Ghost thanks [evertrustai](https://github.com/evertrustai), [Thai Son Dinh](https://github.com/sondt99) of VinSOC Labs, [Enis Atılgan](https://github.com/Enis-Atilgan), [Doan Manh Duc](https://github.com/doanmanhducz), [Harshit Gupta (Mr HAX)](https://www.linkedin.com/in/iam-harshit-gupta/), [白墨](https://github.com/5255fgh), and Mukul of [Parameter](https://www.parameter.ai/) for disclosing this vulnerability responsibly. ### For more information If you have any questions or comments about this advisory, email us at [security@

Products
ghost
Affected versions
Not specified
Fixed versions
6.64.0
CVEs
CVE-2026-104411, CVE-2026-105679
Confirmed fixed CVEs
Not specified
Updated in this feed
30 Oct 2026, 09:02 UTC · Revision 1

Source evidence

Ghost: Stored XSS via File Uploads on Local Storage

core-osv · Original source

Published 7 Oct 2026, 20:25 UTC

### 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](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). ### References Ghost thanks [evertrustai](https://github.com/evertrustai), [Thai Son Dinh](https://github.com/sondt99) of VinSOC Labs, [Enis Atılgan](https://github.com/Enis-Atilgan), [Doan Manh Duc](https://github.com/doanmanhducz), [Harshit Gupta (Mr HAX)](https://www.linkedin.com/in/iam-harshit-gupta/), [白墨](https://github.com/5255fgh), and Mukul of [Parameter](https://www.parameter.ai/) for disclosing this vulnerability responsibly. ### For more information If you have any questions or comments about this advisory, email us at [security@

osv:GHSA-gfjp-2p8f-94qv

ghost

Fixed versions: 6.64.0

Complete source record
{
  "id": "b08067f3e8228ae257b41e68f911e2779f7e6b41243c2b30caccf8cc7e226123",
  "url": "https://osv.dev/vulnerability/GHSA-gfjp-2p8f-94qv",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Ghost: Stored XSS via File Uploads on Local Storage",
    "summary": "### 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](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). ### References Ghost thanks [evertrustai](https://github.com/evertrustai), [Thai Son Dinh](https://github.com/sondt99) of VinSOC Labs, [Enis Atılgan](https://github.com/Enis-Atilgan), [Doan Manh Duc](https://github.com/doanmanhducz), [Harshit Gupta (Mr HAX)](https://www.linkedin.com/in/iam-harshit-gupta/), [白墨](https://github.com/5255fgh), and Mukul of [Parameter](https://www.parameter.ai/) for disclosing this vulnerability responsibly. ### For more information If you have any questions or comments about this advisory, email us at [security@",
    "evidence": "osv:GHSA-gfjp-2p8f-94qv",
    "products": [
      {
        "name": {
          "value": "ghost",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.64.0",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "GHSA-gfjp-2p8f-94qv",
      "aliases": [
        "BIT-ghost-2026-104411",
        "BIT-ghost-2026-105679",
        "CVE-2026-104411",
        "CVE-2026-105679",
        "GHSA-gfjp-2p8f-94qv"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "6.22.1"
                },
                {
                  "fixed": "6.64.0"
                }
              ]
            }
          ],
          "package": {
            "name": "ghost",
            "purl": "pkg:npm/ghost",
            "ecosystem": "npm"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-gfjp-2p8f-94qv/GHSA-gfjp-2p8f-94qv.json"
          }
        }
      ],
      "modified": "2026-10-13T08:26:00.402598962Z",
      "provider": "osv",
      "references": [
        "https://github.com/TryGhost/Ghost/security/advisories/GHSA-gfjp-2p8f-94qv",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-105679",
        "https://github.com/TryGhost/Ghost/pull/30762",
        "https://github.com/TryGhost/Ghost/commit/58669d5c8b898f8b69c1287c2779b29ecc7eb918",
        "https://github.com/TryGhost/Ghost",
        "https://github.com/TryGhost/Ghost/releases/tag/v6.64.0"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-434",
          "CWE-79"
        ],
        "severity": "HIGH",
        "github_reviewed": true,
        "nvd_published_at": "2026-10-05T20:17:15Z",
        "github_reviewed_at": "2026-10-07T20:25:58Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-104411",
        "evidence": "/aliases"
      },
      {
        "value": "CVE-2026-105679",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 307502,
  "published_at": "2026-10-07T20:25:58+00:00"
}