CVE-2024-56515 Untrusted file formats can be thumbnailed, invoking potentially further untrusted decoders in Matrix Media Repo
Attackers can trigger arbitrary code execution via malicious file uploads if specific thumbnailers are enabled, requiring an upgrade to Matrix Media Repo.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2024-56515?
CVE-2024-56515 is a medium-severity unsafe deserialization vulnerability in t2bot matrix-media-repo, published on 16 Jan 2025. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Matrix Media Repo (MMR) is a highly configurable multi-homeserver media repository for Matrix. If SVG or JPEGXL thumbnailers are enabled (they are disabled by default), a user may upload a file which claims to be either of these types and request a thumbnail to invoke a different decoder in ImageMagick. In some ImageMagick installations, this includes the capability to run Ghostscript to decode the image/file. If MP4 thumbnailers are enabled (also disabled by default), the same issue as above may occur with the ffmpeg installation instead. MMR uses a number of other decoders for all other file types when preparing thumbnails. Theoretical issues are possible with these decoders, however in testing they were not possible to exploit. This is fixed in MMR v1.3.8. MMR now inspects the mimetype of media prior to thumbnailing, and picks a thumbnailer based on those results instead of relying on user-supplied values. This may lead to fewer thumbnails when obscure file shapes are used. This also helps narrow scope of theoretical issues with all decoders MMR uses for thumbnails. Users are advised to upgrade. Users unable to upgrade may disable the SVG, JPEGXL, and MP4 thumbnail types in the MMR config which prevents the decoders from being invoked. Further disabling uncommon file types on the server is recommended to limit risk surface. Containers and other similar technologies may also be used to limit the impact of vulnerabilities in external decoders, like ImageMagick and ffmpeg. Some installations of ImageMagick may disable "unsafe" file types, like PDFs, already. This option can be replicated to other environments as needed. ffmpeg may be compiled with limited decoders/codecs. The Docker image for MMR disables PDFs and similar formats by default.
Weakness: CWE-502
Which versions are affected by CVE-2024-56515?
3 open source packages ship an affected version, including github.com/t2bot/matrix-media-repo. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/t2bot/matrix-media-repo Go | All versions | 1.3.8 |
github.com/t2bot/matrix-media-repo Go | All versions | 1.3.8 |
github.com/t2bot/matrix-media-repo Go | All versions | 1.3.8 |
Products include T2bot Matrix-Media-Repo.
How do I fix CVE-2024-56515?
Upgrade github.com/t2bot/matrix-media-repo to 1.3.8 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2024-56515 being exploited?
There is no known exploitation of CVE-2024-56515 in the wild and no public exploit code.
Other vulnerabilities in t2bot matrix-media-repo
- CVE-2024-36402 Unauthenticated writes to the media repository allow planting of problematic content in Matrix Media Repo
- CVE-2024-36403 Denial of service/high operating costs through unauthenticated downloads in Matrix Media Repo
- CVE-2024-52791 Denial of service through memory exhaustion in Matrix Media Repo
- CVE-2024-52602 Server-Side Request Forgery (SSRF) on redirects and federation in Matrix Media Repo
Sources
Also known as GHSA-rcxc-wjgw-579r, GO-2025-3400.