Résumé
Ghost: File Upload Content-Type Spoofing
Détails de l’avis
Impact
Insufficient validation of the client-supplied Content-Type on Ghost's Admin API file upload endpoint allowed uploaded files to be served from the site with an attacker-chosen content type on S3/GCS storage backends. On installations that serve uploaded files from the same origin as the site, this could have been used to facilitate stored cross-site scripting against site visitors or staff.
Vulnerable versions
This vulnerability is present in Ghost from v6.19.4 up to v6.21.0.
Patches
v6.21.1 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.
For more information
If you have any questions or comments about this advisory, email us at security@ghost.org.
Références
- https://github.com/advisories/GHSA-944x-pm95-3jpr
- https://github.com/TryGhost/Ghost/security/advisories/GHSA-944x-pm95-3jpr
- https://nvd.nist.gov/vuln/detail/CVE-2026-53948
- https://github.com/TryGhost/Ghost/pull/26751
- https://github.com/TryGhost/Ghost/commit/d659e752d6636144d75b9aa94062cdbc88a16b21
- https://github.com/TryGhost/Ghost/releases/tag/v6.21.1
Vulnérabilités liées
Tout Supply chain →- HIGHCVE-2026-81891
elFinder: ZIP extraction bypasses uploadDeny MIME filter allowing PHP file upload (RCE)
- MEDIUMCVE-2026-55419
reachy_mini Allows Unrestricted Upload of File with Dangerous Type
- HIGHGHSA-ghvf-qf6h-g8x5
NocoBase: Arbitrary File Write chained with Local file Inclusion leads to Remote code execution
- MEDIUMCVE-2026-54179
Laravel Backpack CRUD: SingleBase64Image accepts any base64 payload behind a `data:image` prefix — SVG-with-script lands on the public disk
- MEDIUMCVE-2026-54177
Laravel Backpack CRUD: HasUploadFields keeps the attacker-supplied file extension — public-disk uploads of `shell.php` reach the webserver
- CRITICALCVE-2026-63223
CodeIgniter: Uploaded file extension validation bypass in `is_image` and `mime_in` rules