Path traversal in Matrix Synapse
Impact
Synapse instances with the media repository enabled can be tricked into downloading a file from a remote server into an arbitrary directory, potentially outside the media store directory.
The last two directories and file name of the path are chosen randomly by Synapse and cannot be controlled by an attacker, which limits the impact.
Homeservers with the media repository disabled are unaffected. Homeservers configured with a federation whitelist are also unaffected.
Patches
Server administrators should upgrade to 1.47.1 or later.
Workarounds
Server administrators using a reverse proxy could, at the expense of losing media functionality, block the following endpoints:
/_matrix/media/r0/download/{serverName}/{mediaId}/_matrix/media/r0/download/{serverName}/{mediaId}/{fileName}/_matrix/media/r0/thumbnail/{serverName}/{mediaId}
Alternatively, non-containerized deployments can be adapted to use the hardened systemd config, located at contrib/systemd/override-hardened.conf.
References
n/a
For more information
If you have any questions or comments about this advisory, e-mail us at security@matrix.org.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | matrix-synapse | < 1.47.1 | 1.47.1 |
References
- https://github.com/matrix-org/synapse/releases/tag/v1.47.1
- https://github.com/matrix-org/synapse/security/advisories/GHSA-3hfw-x7gx-437c
- https://github.com/matrix-org/synapse/commit/91f2bd090
- https://nvd.nist.gov/vuln/detail/CVE-2021-41281
- https://github.com/matrix-org/synapse
- https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2021-436.yaml
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/EU7QRE55U4IUEDLKT5IYPWL3UXMELFAS
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/N3WY56LCEZ4ZECLWV5KMAXF2PSMUB4F2
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N- Weakness (CWE)
CWE-22- Platform
- Python (PyPI)
- Package
matrix-synapse- Disclosed
- 23.11.2021
- Updated
- 11.10.2026 13:19
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2021-436 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-3hfw-x7gx-437c - CC BY 4.0
Vulnerability history: matrix-synapse
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 45
- First → latest
- 03.2019 05.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 21
- Medium 21
- Low 3
Disclosures per year
- 2019: 3
- 2020: 3
- 2021: 12
- 2022: 7
- 2023: 9
- 2024: 7
- 2025: 2
- 2026: 2
-
Path traversal in Matrix Synapse this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.