Skip to content
Heist/ feed
Back to feed
Medium

Ghost: Mobiledoc image-size fetch SSRF

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-53946
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 03:24 UTC · Revision 1

Source evidence

Ghost: Mobiledoc image-size fetch SSRF

core-osv · Original source

Published 24 Jun 2026, 18:08 UTC

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.

osv:CVE-2026-53946
Complete source record
{
  "id": "0dcd9399482eb9a09d2c39e5fa176939913abd72bb6a555a41ca86ada4c7cabd",
  "url": "https://osv.dev/vulnerability/CVE-2026-53946",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Ghost: Mobiledoc image-size fetch SSRF",
    "summary": "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.",
    "evidence": "osv:CVE-2026-53946",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-53946",
      "aliases": [
        "BIT-ghost-2026-53946",
        "CVE-2026-53946",
        "GHSA-g366-23fw-ggp6"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/tryghost/ghost",
              "type": "GIT",
              "events": [
                {
                  "introduced": "59399d8850befd5095ae1149e31f375cac9f0514"
                },
                {
                  "fixed": "1d36c589d39f979327106bbcfb4cece7abaea502"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "6.19.4"
                      },
                      {
                        "fixed": "6.21.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "6.21.1"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v6.21.0",
            "v6.20.1",
            "v6.20.0",
            "v6.19.4"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53946.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.510645064Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53946.json",
        "https://github.com/TryGhost/Ghost/security/advisories/GHSA-g366-23fw-ggp6",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-53946"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53946.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-53946",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492172,
  "published_at": "2026-06-24T18:08:44.602+00:00"
}