Skip to content
QuenchWorks

ghost 6.49.0

Image · Apps & productivity · standard · v6.49.0

F 121cosign signedSPDX SBOMSLSA provenanceamd64 · arm64Rebuilt 2026-06-28

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.

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

Published versions

6 tags

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

VersionSizePublishedDigest
6.57.1latest175.2 MB2026-08-26sha256:e2f5df3f4bc8…
6.55.0182.8 MB2026-08-02sha256:39498f8e00d8…
6.54.1182.8 MB2026-07-28sha256:7f589269c385…
6.54.0182.7 MB2026-07-28sha256:f96aead1ba13…
6.52.1397.7 MB2026-07-14sha256:a6d36a40663d…
6.49.0372.1 MB2026-06-28sha256:d6b815df0eee…

Security report (Trivy)

F· 0/100113 fixable · rebuild clears them

Vulnerability detail

ghost 6.49.0 · 121 CVE
CVESeverityPackageInstalledFixed inTitle
CVE-2023-45133CRITICALbabel-traverse6.26.07.23.2babel: arbitrary code execution
CVE-2026-59873CRITICALtar7.5.167.5.19tar: node-tar: Denial of Service via crafted gzip bomb
CVE-2016-20018HIGHknex0.20.152.4.0Knex.js has a limited SQL injection vulnerability
CVE-2022-23539HIGHjsonwebtoken8.5.19.0.0jsonwebtoken: Unrestricted key type could lead to legacy keys usagen
CVE-2024-34448HIGH@tryghost/members-csv2.0.75.82.0Ghost allows CSV Injection during member CSV export
CVE-2025-12758HIGHvalidator13.12.013.15.22Validator is Vulnerable to Incomplete Filtering of One or More Instances of Special Elements
CVE-2025-12758HIGHvalidator7.2.013.15.22Validator is Vulnerable to Incomplete Filtering of One or More Instances of Special Elements
CVE-2026-13149HIGHbrace-expansion1.1.155.0.7, 1.1.16, 2.1.2brace-expansion: Brace-expansion: Denial of Service due to exponential-time complexity
CVE-2026-13149HIGHbrace-expansion2.1.15.0.7, 1.1.16, 2.1.2brace-expansion: Brace-expansion: Denial of Service due to exponential-time complexity
CVE-2026-13149HIGHbrace-expansion5.0.65.0.7, 1.1.16, 2.1.2brace-expansion: Brace-expansion: Denial of Service due to exponential-time complexity
CVE-2026-13676HIGHfast-uri3.1.24.0.1, 3.1.3, 2.4.2fast-uri: fast-uri: Security policy bypass due to improper Unicode hostname canonicalization
CVE-2026-13697HIGHundici7.28.07.29.0, 8.9.0undici: undici: Information disclosure and Denial of Service via malformed Cache-Control directives
CVE-2026-14257HIGHbrace-expansion1.1.155.0.8, 3.0.3, 2.1.3, 1.1.17brace-expansion: Brace-expansion: Denial of Service via memory exhaustion in expand() function
CVE-2026-14257HIGHbrace-expansion2.1.15.0.8, 3.0.3, 2.1.3, 1.1.17brace-expansion: Brace-expansion: Denial of Service via memory exhaustion in expand() function
CVE-2026-14257HIGHbrace-expansion5.0.65.0.8, 3.0.3, 2.1.3, 1.1.17brace-expansion: Brace-expansion: Denial of Service via memory exhaustion in expand() function
CVE-2026-14456HIGHlibcrypto33.6.3-r33.6.3-r5openssl: OpenSSL: Denial of Service via unbounded memory growth in QUIC server
CVE-2026-14456HIGHlibssl33.6.3-r33.6.3-r5openssl: OpenSSL: Denial of Service via unbounded memory growth in QUIC server
CVE-2026-16221HIGHfast-uri3.1.22.4.3, 3.1.4, 4.1.1fast-uri: Fast-uri: Security policy bypass due to URL parsing inconsistency
CVE-2026-18446HIGHfast-uri3.1.22.4.4, 3.1.5, 4.1.2fast-uri: fast-uri: Host confusion vulnerability via backslash in URI authority
CVE-2026-5079HIGHmulter2.1.12.2.0, 3.0.0-alpha.2multer: Multer: Denial of Service via deeply nested field names in multipart form data
CVE-2026-53571HIGHvite7.3.28.0.16, 7.3.5, 6.4.3vite: `server.fs.deny` bypass on Windows alternate paths
CVE-2026-58043HIGHnodejs-2222.23.1-r022.23.2-r0nodejs: Node.js: Unauthorized filesystem access due to Permission Model enforcement flaw
CVE-2026-59869HIGHjs-yaml4.2.03.15.0, 4.3.0js-yaml: js-yaml: Denial of Service via crafted YAML documents
CVE-2026-59874HIGHtar7.5.167.5.18tar: Node-tar: Denial of Service via malformed tar archive header
CVE-2026-59887HIGHlinkify-it5.0.15.0.2linkify-it: linkify-it: Denial of Service via crafted mailto: links
CVE-2026-67213HIGHnanoid3.3.153.3.18, 5.1.6nanoid: nanoid: Denial of Service via infinite loop in random ID generation
CVE-2026-67214HIGHnanoid3.3.153.3.16, 5.1.16nanoid: nanoid: Denial of Service via negative size input in non-secure module functions
CVE-2026-69152HIGHbrace-expansion1.1.151.1.18, 2.1.4, 3.0.6, 5.0.9brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
CVE-2026-69152HIGHbrace-expansion2.1.11.1.18, 2.1.4, 3.0.6, 5.0.9brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
CVE-2026-69152HIGHbrace-expansion5.0.61.1.18, 2.1.4, 3.0.6, 5.0.9brace-expansion: DoS via unbounded intermediate arrays, bypassing the CVE-2026-14257 mitigation
CVE-2026-69192HIGHip-address10.2.010.3.1ip-address: ip-address: Inconsistent IP address parsing leads to Server-Side Request Forgery (SSRF) and trust-boundary bypass
CVE-2026-73231HIGH@faker-js/faker10.4.010.5.0@faker-js/faker: Faker: Arbitrary Code Execution via attacker-controlled fake templates
CVE-2026-73566HIGHtar7.5.167.5.21tar: node-tar: Denial of Service via crafted long-path tar archive
CVE-2026-73646HIGHpostcss8.5.158.5.18postcss: PostCSS: Information disclosure via path traversal in source map auto-loading
CVE-2026-75899HIGHfast-uri3.1.22.4.5, 3.1.6, 4.1.3fast-uri: fast-uri: Server-Side Request Forgery via repeated hostname percent-decoding
CVE-2026-75975HIGHfast-uri3.1.22.4.5, 3.1.6, 4.1.3fast-uri: fast-uri: Server-side request forgery via malformed IPv6 normalization
CVE-2026-76172HIGHfast-uri3.1.22.4.5, 3.1.6, 4.1.3fast-uri: fast-uri: URI parsing flaw enables server-side request forgery and redirects
CVE-2026-77037HIGHmulter2.2.02.3.0multer vulnerable to Denial of Service via file descriptor leak on aborted uploads
CVE-2026-77078HIGHmulter2.1.12.3.0multer vulnerable to Denial of Service via crafted multipart field names
CVE-2026-77078HIGHmulter2.2.02.3.0multer vulnerable to Denial of Service via crafted multipart field names
CVE-2026-82333HIGHmulter2.1.12.3.0multer vulnerable to Denial of Service via oversized array index in field names
CVE-2026-82333HIGHmulter2.2.02.3.0multer vulnerable to Denial of Service via oversized array index in field names
CVE-2026-82659HIGHnodemailer8.0.119.0.1nodemailer: Nodemailer: Arbitrary file read and Server-Side Request Forgery via raw option bypass
CVE-2026-84375HIGHjs-yaml4.2.04.3.2, 3.15.2js-yaml: js-yaml: Denial of Service vulnerability in YAML parsing
GHSA-2x7j-588g-ccc2HIGHnodemailer8.0.119.1.0Nodemailer: Quadratic (O(n²)) time complexity in addressparser allows remote denial of service via a crafted address list
GHSA-2x7j-588g-ccc2HIGHnodemailer9.0.19.1.0Nodemailer: Quadratic (O(n²)) time complexity in addressparser allows remote denial of service via a crafted address list
GHSA-3f6p-5ww8-9rcrHIGHmysql23.14.13.22.0MySQL2: Auth Plugin Downgrade to mysql_clear_password Leaks Plaintext Credentials
GHSA-5p4m-2wfm-xmqjHIGHjs-yaml4.2.04.3.1, 3.15.1JS-YAML: Quadratic CPU consumption in !!omap resolution (3.x and 4.x) — CVE-2026-59870 fix not backported
GHSA-f88m-g3jw-g9cjHIGHsharp0.34.50.35.0sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591
GHSA-rgj7-g3m4-5g8cHIGHsharp0.34.50.35.4sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545
GHSA-rgj7-g3m4-5g8cHIGHsharp0.35.20.35.4sharp: Vulnerabilities in libheif: GHSA-g89c-p67h-r497 and GHSA-2jg2-4ch7-h545
CVE-2020-8203HIGHlodash.pick4.4.0not fixablenodejs-lodash: prototype pollution in zipObjectDeep function
CVE-2022-37620HIGHhtml-minifier4.0.0not fixablekangax html-minifier REDoS vulnerability
CVE-2025-71329HIGHimage-size1.2.1not fixableimage-size: image-size: Denial of Service via crafted image buffer with zero-valued size field
CVE-2025-71330HIGHimage-size1.2.1not fixableimage-size: image-size: Denial of Service via crafted ICNS image buffer
CVE-2026-19693HIGHextract-zip2.0.1not fixableextract-zip: extract-zip: Arbitrary file write via symlink in archive
CVE-2026-56876HIGHextract-zip2.0.1not fixableextract-zip: github.com/maxogden/extract-zip: extract-zip: Arbitrary file write and information disclosure via symlink validation bypass
CVE-2021-3765MEDIUMvalidator7.2.013.7.0validator: Inefficient Regular Expression Complexity in Validator.js
CVE-2022-23540MEDIUMjsonwebtoken8.5.19.0.0jsonwebtoken: Insecure default algorithm in jwt.verify() could lead to signature validation bypass
CVE-2022-23541MEDIUMjsonwebtoken8.5.19.0.0jsonwebtoken: Insecure implementation of key retrieval function could lead to Forgeable Public/Private Tokens from RSA to HMAC
CVE-2025-56200MEDIUMvalidator13.12.013.15.20validator.js has a URL validation bypass vulnerability in its isURL function
CVE-2025-56200MEDIUMvalidator7.2.013.15.20validator.js has a URL validation bypass vulnerability in its isURL function
CVE-2026-14643MEDIUMundici7.28.07.29.0, 8.9.0undici: undici: Cross-user information disclosure due to improper Cache-Control directive parsing
CVE-2026-15157MEDIUMundici6.27.06.28.0, 7.29.0, 8.9.0undici: undici: HTTP header injection via unvalidated blob-like body type property
CVE-2026-15157MEDIUMundici7.28.06.28.0, 7.29.0, 8.9.0undici: undici: HTTP header injection via unvalidated blob-like body type property
CVE-2026-16728MEDIUMundici6.27.06.28.0, 7.29.0, 8.9.0undici: undici: Response desynchronization via retry interceptor with mismatched Content-Length
CVE-2026-16728MEDIUMundici7.28.06.28.0, 7.29.0, 8.9.0undici: undici: Response desynchronization via retry interceptor with mismatched Content-Length
CVE-2026-16729MEDIUMundici6.27.06.28.0, 7.29.0, 8.9.0undici: Undici: Cookie attribute injection allows bypassing security protections
CVE-2026-16729MEDIUMundici7.28.06.28.0, 7.29.0, 8.9.0undici: Undici: Cookie attribute injection allows bypassing security protections
CVE-2026-41907MEDIUMuuid3.4.011.1.1, 12.0.1, 13.0.1uuid: uuid: Out-of-bounds write vulnerability impacts data integrity and confidentiality
CVE-2026-41907MEDIUMuuid7.0.311.1.1, 12.0.1, 13.0.1uuid: uuid: Out-of-bounds write vulnerability impacts data integrity and confidentiality
CVE-2026-41907MEDIUMuuid9.0.111.1.1, 12.0.1, 13.0.1uuid: uuid: Out-of-bounds write vulnerability impacts data integrity and confidentiality
CVE-2026-5038MEDIUMmulter2.1.12.2.0, 3.0.0-alpha.2multer: Multer: Denial of Service via aborted or malformed multipart uploads
CVE-2026-53632MEDIUMvite7.3.28.0.16, 7.3.5, 6.4.3launch-editor: launch-editor: Credential compromise via NTLMv2 password hash leak through UNC path access
CVE-2026-54272MEDIUMip-address10.2.010.2.1ip-address: ip-address: Server-Side Request Forgery via IPv4-mapped/NAT64 IPv6 address misclassification
CVE-2026-56847MEDIUMnodejs-2222.23.1-r022.23.2-r0nodejs: Node.js: Permission Model flaw allows trace logs to bypass filesystem write restrictions
CVE-2026-56850MEDIUMnodejs-2222.23.1-r022.23.2-r0nodejs: Node.js: mTLS client identities can be reused due to HTTPS Agent connection flaw
CVE-2026-58055MEDIUMlibnghttp2-141.69.0-r01.70.0-r0nghttp2: nghttp2: HTTP Request/Response Smuggling and Response-Queue Poisoning via ambiguous HTTP/1.1 Upgrade requests
CVE-2026-59871MEDIUMtar7.5.167.5.18node-tar: node-tar: Denial of Service due to incorrect PAX path handling
CVE-2026-59875MEDIUMtar7.5.167.5.17node-tar: node-tar: Denial of Service via crafted archive with NUL bytes in metadata
CVE-2026-63670MEDIUMsanitize-html2.17.52.17.6ApostropheCMS: Mutation-XSS / allowedTags bypass via literal `</textarea/>` solidus close
CVE-2026-67550MEDIUMre21.25.01.25.2re2: Denial of Service via out-of-bounds read
CVE-2026-6791MEDIUMglibc2.43-r92.43-r10glibc: Glibc: Denial of Service via stack exhaustion during tilde expansion
CVE-2026-6791MEDIUMglibc-locale-posix2.43-r92.43-r10glibc: Glibc: Denial of Service via stack exhaustion during tilde expansion
CVE-2026-6791MEDIUMld-linux2.43-r92.43-r10glibc: Glibc: Denial of Service via stack exhaustion during tilde expansion
CVE-2026-68499MEDIUMre21.25.01.25.2re2 provides Node.js bindings for Google's RE2 regular expression engi ...
CVE-2026-69153MEDIUMpostcss8.5.158.5.23postcss: PostCSS: Information disclosure via crafted sourceMappingURL
CVE-2026-69198MEDIUMip-address10.2.010.2.2ip-address: ip-address: Server-Side Request Forgery (SSRF) and trust-boundary bypass
CVE-2026-70588MEDIUMghost6.49.06.54.1Ghost: Cross-Site Scripting in Universal Import
CVE-2026-70589MEDIUMghost6.49.06.54.1Ghost: Archived Offers can be Redeemed
CVE-2026-70590MEDIUMghost6.49.06.54.1Ghost: Blind Password Hash Disclosure in Ghost Admin API
CVE-2026-70591MEDIUMghost6.49.06.54.1Ghost: Server-Side Request Forgery in Image Fetching
CVE-2026-70592MEDIUMghost6.49.06.54.1Ghost: Database Backup Path Traversal
CVE-2026-70593MEDIUMghost6.49.06.54.1Ghost: Theme Upload Path Traversal
CVE-2026-70594MEDIUMghost6.49.06.54.1Ghost: Session Fixation in Ghost Admin
CVE-2026-70595MEDIUMghost6.49.06.54.1Ghost: Server-Side Request Forgery Mitigation Issue
CVE-2026-70596MEDIUMghost6.49.06.54.1Ghost: Cross-Site Scripting in Feature Image Captions
CVE-2026-71430MEDIUMre21.25.01.25.1node-re2: node-re2: Denial of Service due to excessive string length in replacements
CVE-2026-71498MEDIUMre21.25.01.26.1node-re2: node-re2: Information disclosure via out-of-bounds read with malformed UTF-8 input
CVE-2026-82417MEDIUMqs6.15.26.16.0qs: qs: Denial of Service via improper validation in stringify function
CVE-2026-82562MEDIUMqs6.15.26.16.0qs: qs: Denial of Service via array limit bypass in query string parsing
CVE-2026-84371MEDIUMsanitize-html2.17.52.17.7sanitize-html: stored XSS via SVG SMIL URI-list scheme-policy bypass
CVE-2026-85091MEDIUMzlib1.3.2-r31.3.3-r0zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vul ...
GHSA-55q2-fjhq-7xh7MEDIUMdompurify3.4.113.4.13DOMPurify: IN_PLACE hook removal leaves a detached subtree executable, causing XSS
GHSA-8m3c-c648-2xjjMEDIUMnodemailer8.0.119.1.1Nodemailer: resolveContent() on a MailMessage bypasses disableFileAccess/disableUrlAccess when called with the legacy signature
GHSA-8m3c-c648-2xjjMEDIUMnodemailer9.0.19.1.1Nodemailer: resolveContent() on a MailMessage bypasses disableFileAccess/disableUrlAccess when called with the legacy signature
GHSA-cc9r-2j5m-2m83MEDIUMnodemailer8.0.119.1.0Nodemailer: Recipient-domain validation bypass via RFC 5322 comment mis-parsing leads to email delivery to an attacker-controlled domain
GHSA-cc9r-2j5m-2m83MEDIUMnodemailer9.0.19.1.0Nodemailer: Recipient-domain validation bypass via RFC 5322 comment mis-parsing leads to email delivery to an attacker-controlled domain
GHSA-rgwj-5xj2-c3m3MEDIUMmysql23.14.13.23.1MySQL2: Unbounded zlib inflate in compressed MySQL protocol handler allows decompression-bomb DoS
GHSA-rgwj-5xj2-c3m3MEDIUMmysql23.22.53.23.1MySQL2: Unbounded zlib inflate in compressed MySQL protocol handler allows decompression-bomb DoS
GHSA-wmmp-3585-3rmpMEDIUMnodemailer8.0.119.1.0Nodemailer: IDN/Punycode domain allow-list bypass leads to email delivery to an attacker-controlled domain
GHSA-wmmp-3585-3rmpMEDIUMnodemailer9.0.19.1.0Nodemailer: IDN/Punycode domain allow-list bypass leads to email delivery to an attacker-controlled domain
CVE-2023-28155MEDIUMrequest2.88.2not fixablerequest: bypass of SSRF mitigations when following a cross-protocol redirect
GHSA-984p-xq9m-4rjwMEDIUMexpress-brute1.0.1not fixableRate Limiting Bypass in express-brute
CVE-2026-12590LOWbody-parser1.20.51.20.6, 2.3.0body-parser: body-parser: Denial of Service via invalid limit option
CVE-2026-54876LOWlibcrypto33.6.3-r33.6.3-r4openssl: OpenSSL: Memory leak leads to Denial of Service in OCSP response checking
CVE-2026-54876LOWlibssl33.6.3-r33.6.3-r4openssl: OpenSSL: Memory leak leads to Denial of Service in OCSP response checking
CVE-2026-77063LOWmulter2.1.12.3.0multer vulnerable to file size limit bypass via async fileFilter race condition
CVE-2026-77063LOWmulter2.2.02.3.0multer vulnerable to file size limit bypass via async fileFilter race condition
GHSA-c2j3-45gr-mqc4LOWdompurify3.4.113.4.12DOMPurify: `CUSTOM_ELEMENT_HANDLING` bypasses `afterSanitizeElements` for allowed custom elements.
GHSA-g7r4-m6w7-qqqrLOWesbuild0.27.70.28.1esbuild allows arbitrary file read when running the development server on Windows
2
Critical
55
High
57
Medium
7
Low
0
Unknown

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.49.0

Tags

6.49.06.49.0-amd646.49.0-arm64

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

App version
6.49.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.49.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.49.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.49.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