CVE-2024-52815
📋 TL;DR
Synapse versions before 1.120.1 fail to properly validate invites received over federation, allowing a malicious server to send specially crafted invites that disrupt the invited user's /sync functionality. This affects all Synapse homeservers that federate with other Matrix servers.
💻 Affected Systems
- Synapse Matrix homeserver
📦 What is this software?
Synapse by Matrix
⚠️ Risk & Real-World Impact
Worst Case
Malicious server could persistently disrupt users' ability to sync messages and participate in rooms across federated Matrix network.
Likely Case
Targeted disruption of specific users' sync functionality by malicious federated servers.
If Mitigated
No impact if patched or if federation is disabled.
🎯 Exploit Status
Requires control of a federated server to send malicious invites.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.120.1
Vendor Advisory: https://github.com/element-hq/synapse/security/advisories/GHSA-f3r3-h2mq-hx2h
Restart Required: Yes
Instructions:
1. Update Synapse to version 1.120.1 or later using your package manager or pip. 2. Restart the Synapse service. 3. Verify the update was successful.
🔧 Temporary Workarounds
Disable Federation
allTemporarily disable federation to prevent malicious invites from external servers.
Edit homeserver.yaml and set 'federation_domain_whitelist: []' or disable federation entirely
🧯 If You Can't Patch
- Implement strict federation whitelisting to only allow trusted servers
- Monitor for unusual invite patterns or sync failures in logs
🔍 How to Verify
Check if Vulnerable:
Check Synapse version with: python -m synapse.app.homeserver --version
Check Version:
python -m synapse.app.homeserver --version
Verify Fix Applied:
Verify version is 1.120.1 or higher and check logs for successful startup.
📡 Detection & Monitoring
Log Indicators:
- Unusual invite patterns from federated servers
- User sync failures or errors in logs
Network Indicators:
- Abnormal invite traffic from specific federated servers
SIEM Query:
synapse AND (invite OR sync) AND (error OR failure)