Discourse CVE-2026-55420 Allows Low-Privilege Users to Read Server Files
A race condition in Discourse’s image upload pipeline enables arbitrary file access for Trust Level 0 users via crafted uploads.

Key points
- CVE-2026-55420 allows low-privileged users to read and write server files through a TOCTOU flaw.
- The vulnerability affects default Docker-based Discourse deployments using ImageMagick for processing.
- Hosted customers received a fix in June 2026, with public disclosure on June 30, 2026.
Security researchers disclosed CVE-2026-55420, a vulnerability in the Discourse forum platform that enables arbitrary file read and write access on underlying servers. The flaw exploits the platform’s ImageMagick-based upload pipeline and was publicly revealed on June 30, 2026, according to GBHackers.
The issue allows attackers with minimal privileges to bypass security controls by uploading specially crafted image files. This exploitation triggers a time-of-check-to-time-of-use race condition within the upload processing workflow. Researchers from Searchlight Cyber identified unsafe interactions between Discourse’s validation steps and external processing tools like ImageMagick and Ghostscript.
Technical Mechanism and Exploitation
Discourse validates uploads by checking filenames and image types against a list of supported formats, including JPEG, PNG, GIF, SVG, WebP, AVIF, HEIC, and JPEG XL. However, the subsequent processing stage invokes ImageMagick’s convert utility on a temporary path that retains the attacker-controlled file extension. This discrepancy creates a window for manipulation.
Researchers created a polyglot file combining JPEG XL structures with PostScript content to pass initial validation while reaching ImageMagick and Ghostscript processing paths. The proof of concept demonstrated PostScript execution through the dominant-color calculation feature in the upload pipeline, allowing unauthorized code execution during image analysis.
The most critical phase involved ImageMagick’s MSVG and MSL capabilities, which can instruct the software to read content from local paths and write it elsewhere. Attackers placed an MSL payload in the /tmp directory using a malicious upload, then replaced a separate temporary file with an SVG trigger during processing.
To make this race condition practical, researchers used a crafted JPEG file that prolonged the jpegoptim stage of Discourse’s image optimization workflow. This delay widened the window for atomic replacement of the target temporary file, enabling the exploitation chain to succeed before validation completed.
Affected Systems and User Impact
The vulnerability affects default Discourse deployments that use its Docker-based stack. It requires only a Trust Level 0 account, which is the platform’s lowest user privilege tier. This means even newly registered users with minimal permissions can potentially exploit the flaw to access sensitive local files on the server.
Hosted Discourse customers received a fix in June 2026, prior to the public disclosure on June 30, 2026. Self-hosted administrators must verify their deployment status and apply updates immediately if they have not already done so. The specific versions affected were not detailed in the initial report.
What should you do?
Administrators should check their Discourse deployment status against the June 2026 fix timeline. Verify that your Docker containers are running patched images. Monitor upload logs for unusual activity or failed validation attempts. Review server permissions to limit potential damage from arbitrary file access.
What to do and how to stay safe: Discourse
- Verify your Discourse instance is updated to the version released after June 30, 2026.
- Monitor upload logs for anomalies or repeated failed processing attempts involving temporary files.
- Restrict server permissions for the user account running the Discourse application.
- Review firewall rules to limit external access to management interfaces until patched.
Step-by-step guide: Risk Based Vulnerability Management: Prioritize Fixes by Actual Threat
General security guidance from the Threat Times newsroom. It is not confirmed advice from the organisations named in this story.
Frequently asked questions
What is CVE-2026-55420?
It is a vulnerability in Discourse that allows low-privileged users to read and write server files via a race condition in the image upload pipeline.
Who can exploit this vulnerability?
Any user with a Trust Level 0 account, which is the lowest privilege tier on Discourse, can potentially exploit this flaw.
Is there a fix available?
Yes, hosted customers received a fix in June 2026, and self-hosted administrators should update their deployments to the patched version.


