Skip to content

Synapse can be forced to thumbnail unexpected file formats, invoking potentially untrustworthy decoders

High
sandhose published GHSA-vp6v-whfm-rv3g Dec 3, 2024

Package

pip matrix-synapse (pip)

Affected versions

< 1.120.1

Patched versions

1.120.1

Description

Impact

In Synapse versions before 1.120.1, enabling the dynamic_thumbnails option or processing a specially crafted request could trigger the decoding and thumbnail generation of uncommon image formats, potentially invoking external tools like Ghostscript for processing.

This significantly expands the attack surface in a historically vulnerable area, presenting a risk that far outweighs the benefit, particularly since these formats are rarely used on the open web or within the Matrix ecosystem.

For a list of image formats, as well as decoding libraries and helper programs used, see the Pillow documentation.

Patches

Synapse 1.120.1 addresses the issue by restricting thumbnail generation to images in the following widely used formats: PNG, JPEG, GIF, and WebP.

Workarounds

  • Ensure any image codecs and helper programs, such as Ghostscript, are patched against security vulnerabilities.
  • Uninstall unused image decoder libraries and helper programs, such as Ghostscript, from the system environment that Synapse is running in.
    • Depending on the installation method, there may be some decoder libraries bundled with Pillow and these cannot be easily uninstalled.
    • The official Docker container image does not include Ghostscript.

References

  • The Pillow documentation includes a list of supported image formats and which libraries or helper programs are used to decode them.

For more information

If you have any questions or comments about this advisory, please email us at security at element.io.

Severity

High

CVE ID

CVE-2024-53863

Weaknesses

No CWEs