Skip to content
QuenchWorks

ghost

Image · Apps & productivity · standard · v6.72.0

F 58cosign signedSPDX SBOMSLSA provenanceamd64 · arm64Rebuilt 2026-10-22

Open-source Node.js publishing platform for blogs, newsletters, and membership sites. Packaged from Ghost's official npm distribution on a hardened Wolfi Node 22; configured entirely via environment and backed by an external MySQL/MariaDB with a content PVC for themes, images, and data.

Version

The latest line lives at the base page; older lines have their own page so you can pin and verify exactly that version.

Current digest (deployed by the chart)

sha256:e1ea09ec4334649f8d7d46633b7d02d43db529415170e1a5148b0d12a967909f

Signatures, the SBOM, and provenance all attach to this digest. Pin to it for reproducible, tamper-evident pulls.

Signed
cosign keyless
SBOM
SPDX, on digest
Provenance
SLSA build
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
Image size
168.7 MB

Published versions

2 tags

Each tag is a multi-arch index (amd64 + arm64) pinned by digest. Tagged by version, never :latest.

VersionSizePublishedDigest
6.72.0latest168.7 MB2026-10-22sha256:b89686e7bba9…
6.67.0192.8 MB2026-10-22sha256:e1ea09ec4334…

Security report (Trivy)

F· 0/10055 fixable · rebuild clears them

Vulnerability detail

ghost 6.72.0 · 58 CVE
CVESeverityPackageInstalledFixed inTitle
GHSA-cg2g-xh64-v4q7CRITICALdompurify3.4.163.4.17DOMPurify SAFE_FOR_TEMPLATES bypass: split template expressions survive in attached shadow root content on DOM output modes
CVE-2026-105482HIGHnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: dns.resolve truncates hostnames containing a NUL character
CVE-2026-106069HIGHnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: TLS certificate hostname bypass via non-canonical IP hostnames
CVE-2026-109383HIGHundici6.28.16.29.1, 7.30.1, 8.12.2undici: undici: Certificate validation bypass via dropped TLS options in Agent
CVE-2026-109383HIGHundici7.29.16.29.1, 7.30.1, 8.12.2undici: undici: Certificate validation bypass via dropped TLS options in Agent
CVE-2026-109383HIGHundici8.10.26.29.1, 7.30.1, 8.12.2undici: undici: Certificate validation bypass via dropped TLS options in Agent
CVE-2026-109383HIGHundici8.11.06.29.1, 7.30.1, 8.12.2undici: undici: Certificate validation bypass via dropped TLS options in Agent
CVE-2026-109829HIGHundici7.29.17.30.1, 8.12.2undici: undici: Cache poisoning and information disclosure via improper cross-origin redirect caching
CVE-2026-109829HIGHundici8.10.27.30.1, 8.12.2undici: undici: Cache poisoning and information disclosure via improper cross-origin redirect caching
CVE-2026-109829HIGHundici8.11.07.30.1, 8.12.2undici: undici: Cache poisoning and information disclosure via improper cross-origin redirect caching
CVE-2026-109855HIGHundici8.11.08.11.2undici: undici: Denial of Service via failed HTTP/2 WebSocket handshake
CVE-2026-109869HIGHundici6.28.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unhandled stream error on excessive content encodings
CVE-2026-109869HIGHundici7.29.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unhandled stream error on excessive content encodings
CVE-2026-109869HIGHundici8.10.26.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unhandled stream error on excessive content encodings
CVE-2026-109869HIGHundici8.11.06.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unhandled stream error on excessive content encodings
CVE-2026-111181HIGHbody-parser1.20.62.4.0, 1.20.9body-parser: body-parser: Denial of Service via unhandled decompression stream error
CVE-2026-111181HIGHbody-parser1.20.82.4.0, 1.20.9body-parser: body-parser: Denial of Service via unhandled decompression stream error
CVE-2026-113872HIGHmulter2.4.02.5.0multer: multer: Denial of Service via aborted request during asynchronous file filtering
CVE-2026-87018HIGHundici6.28.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via TLS renegotiation with mismatched certificate
CVE-2026-87018HIGHundici7.29.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via TLS renegotiation with mismatched certificate
CVE-2026-87018HIGHundici8.10.26.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via TLS renegotiation with mismatched certificate
CVE-2026-87018HIGHundici8.11.06.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via TLS renegotiation with mismatched certificate
GHSA-mrv2-3pqr-j5jrHIGHdompurify3.4.163.4.17DOMPurify IN_PLACE: hook that removes a parent or sibling leaves the detached subtree's event handlers armed (incomplete fix for GHSA-p98j-92pf-mc4p)
CVE-2026-19693HIGHextract-zip2.0.1— not fixableextract-zip: extract-zip: Arbitrary file write via symlink in archive
CVE-2026-56876HIGHextract-zip2.0.1— not fixableextract-zip: github.com/maxogden/extract-zip: extract-zip: Arbitrary file write and information disclosure via symlink validation bypass
CVE-2026-105481MEDIUMnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: Response desynchronization via improper HTTP keep-alive connection reuse
CVE-2026-106072MEDIUMnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: Authentication bypass via non-canonical IPv4 hostname verification
CVE-2026-106074MEDIUMnodejs-2222.23.2-r122.23.4-r0nodejs: nodejs: predictable random values via snapshot entropy cache reuse
CVE-2026-109841MEDIUMundici7.29.17.30.1, 8.12.2undici: undici: Subresource Integrity bypass via non-lowercase algorithm tokens
CVE-2026-109841MEDIUMundici8.10.27.30.1, 8.12.2undici: undici: Subresource Integrity bypass via non-lowercase algorithm tokens
CVE-2026-109841MEDIUMundici8.11.07.30.1, 8.12.2undici: undici: Subresource Integrity bypass via non-lowercase algorithm tokens
CVE-2026-109924MEDIUMundici6.28.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via memory exhaustion in EventSource client
CVE-2026-109924MEDIUMundici7.29.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via memory exhaustion in EventSource client
CVE-2026-109924MEDIUMundici8.10.26.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via memory exhaustion in EventSource client
CVE-2026-109924MEDIUMundici8.11.06.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via memory exhaustion in EventSource client
CVE-2026-109932MEDIUMundici6.28.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unbounded WebSocket PONG buffering
CVE-2026-109932MEDIUMundici7.29.16.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unbounded WebSocket PONG buffering
CVE-2026-109932MEDIUMundici8.10.26.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unbounded WebSocket PONG buffering
CVE-2026-109932MEDIUMundici8.11.06.29.1, 7.30.1, 8.12.2undici: undici: Denial of Service via unbounded WebSocket PONG buffering
CVE-2026-110180MEDIUMfast-uri3.1.82.4.8, 3.1.9, 4.2.3fast-uri: fast-uri: Security policy bypass via improper host canonicalization
CVE-2026-110306MEDIUMfast-uri3.1.82.4.8, 3.1.9, 4.2.3fast-uri: fast-uri: Cross-Site Scripting via improper URI scheme decoding
CVE-2026-110816MEDIUMqs6.16.06.16.1qs: qs: Denial of Service via unhandled exception during array serialization
CVE-2026-87029MEDIUMundici7.29.17.30.1, 8.12.2undici: undici: Denial of Service via unhandled exception in decompress interceptor
CVE-2026-87029MEDIUMundici8.10.27.30.1, 8.12.2undici: undici: Denial of Service via unhandled exception in decompress interceptor
CVE-2026-87029MEDIUMundici8.11.07.30.1, 8.12.2undici: undici: Denial of Service via unhandled exception in decompress interceptor
GHSA-4ffr-jq9g-5ffxMEDIUMnodemailer10.0.1010.0.13Nodemailer: Quadratic backtracking in SMTP AUTH mechanism detection regexes allows pre-auth remote denial of service
GHSA-85x2-q946-cp5hMEDIUMnodemailer10.0.1010.1.4Nodemailer: A ">" inside a quoted local part ends an angle-addr early in addressparser, delivering to a domain the header does not name
GHSA-85x2-q946-cp5hMEDIUMnodemailer10.0.1610.1.4Nodemailer: A ">" inside a quoted local part ends an angle-addr early in addressparser, delivering to a domain the header does not name
GHSA-8c8m-p3m8-cjg8MEDIUMnodemailer10.0.1010.1.4Nodemailer: A nested comment ends early in addressparser, releasing the rest of the comment as a recipient
GHSA-8c8m-p3m8-cjg8MEDIUMnodemailer10.0.1610.1.4Nodemailer: A nested comment ends early in addressparser, releasing the rest of the comment as a recipient
GHSA-g73g-hqqh-jr95MEDIUMnodemailer10.0.1010.0.13Nodemailer: RFC 5322 comment inside an angle-bracket address is never stripped
GHSA-m943-m63m-w62wMEDIUMnodemailer10.0.1010.1.4Nodemailer: A ";" inside a quoted string or comment ends an address group early in addressparser, turning display text into a recipient
GHSA-m943-m63m-w62wMEDIUMnodemailer10.0.1610.1.4Nodemailer: A ";" inside a quoted string or comment ends an address group early in addressparser, turning display text into a recipient
GHSA-984p-xq9m-4rjwMEDIUMexpress-brute1.0.1— not fixableRate Limiting Bypass in express-brute
CVE-2026-106073LOWnodejs-2222.23.2-r122.23.4-r0nodejs: Node.js: Filesystem read permission bypass via fs.realpathSync()
CVE-2026-110095LOWfast-uri3.1.82.4.8, 3.1.9, 4.2.3fast-uri: fast-uri: Path traversal via improper relative URI normalization
CVE-2026-110725LOWfast-uri3.1.82.4.8, 3.1.9, 4.2.3fast-uri: fast-uri: Cross-site scripting via unescaped colon in relative URI paths
GHSA-c6gr-qvv4-5v3fLOWdompurify3.4.163.4.17DOMPurify: SMIL attributeName=href guard is skipped when PARSER_MEDIA_TYPE is application/xhtml+xml
1
Critical
24
High
29
Medium
4
Low
0
Unknown
fixable per nightly scan · peak 2478 of 115 days with any · 2026-06-29 to 2026-10-22

Pull the image

Run it directly with Docker, Podman, or any Kubernetes workload. Nonroot, read-only root filesystem, built for amd64 and arm64.

Pull (tag)

docker pull ghcr.io/quenchworks/images/ghost:6.72.0

Pinned by digest (recommended)

docker pull ghcr.io/quenchworks/images/ghost@sha256:e1ea09ec4334649f8d7d46633b7d02d43db529415170e1a5148b0d12a967909f

Tags

6.72.06.72.0-amd646.72.0-arm64

Images are tagged by app version (never :latest): a multi-arch index plus per-arch tags.

App version
6.72.0
Architectures
amd64, arm64
Runs as
nonroot (uid 1001)
Root filesystem
read-only
License
MIT

Verify the supply chain

This image is cosign-signed and carries an SPDX SBOM and a SLSA build-provenance attestation on the same digest. Check all three yourself:

# 1. signature — built and signed by QuenchWorks CI
cosign verify ghcr.io/quenchworks/images/ghost:6.72.0 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# 2. SLSA build provenance — which workflow built it, from what
cosign verify-attestation --type https://slsa.dev/provenance/v1 ghcr.io/quenchworks/images/ghost:6.72.0 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

# 3. SPDX SBOM — the package inventory
cosign verify-attestation --type https://spdx.dev/Document/v2.3 ghcr.io/quenchworks/images/ghost:6.72.0 \
  --certificate-identity-regexp 'https://github.com/quenchworks/.+' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com

See the SBOM & provenance guide for reading the SBOM and using these checks in CI.

Transparency

Every image carries its SBOM and provenance as attestations on the same digest, publicly verifiable with the commands above (they check the package and the Sigstore transparency log, Rekor).

Upstream project: https://ghost.org