CVE-2023-32323: Matrix synapse Synapse Outgoing Federation To Specific Vulnerability
MODERATECVE-2023-32323 is a MODERATE (CVSS 5.0) synapse outgoing federation to specific vulnerability (CWE-20: Improper Input Validation) affecting Matrix synapse libraries in the PyPI ecosystem. The issue involves synapse outgoing federation to specific hosts can be disabled by sending malicious invites. Remediation is available by upgrading affected packages to version 1.74.0.
CVE-2023-32323 at a Glance
Security Impact
CVSS: 5.0
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L).
How to Fix CVE-2023-32323
To remediate this vulnerability, upgrade all affected Matrix synapse dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install matrix-synapse>=1.74.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show matrix-synapse
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2023-32323, inspect your installed packages using pip:
pip show matrix-synapse
Analyze the terminal output to locate any version of Matrix synapse in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.74.0), your application is affected.
Note: The pip show matrix-synapse command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-20: Improper Input Validation, where the product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. In Matrix synapse, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2023-32323 Affected Matrix synapse Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
matrix-synapse
|
PyPI |
< 1.74.0
|
1.74.0
|
References
Frequently Asked Questions
What is CVE-2023-32323?
Which Matrix synapse versions are affected?
What version fixes CVE-2023-32323?
Is matrix-synapse affected?
What is the CVSS score of CVE-2023-32323?
What CWE is associated with CVE-2023-32323?
How can I check PyPI dependencies for CVE-2023-32323?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-f3wc-3vxv-xmvr",
"modified" : "2025-02-13T18:54:39Z",
"published" : "2023-05-24T17:28:26Z",
"aliases" : [ "CVE-2023-32323" ],
"summary" : "Synapse Outgoing federation to specific hosts can be disabled by sending malicious invites",
"details" : "### Impact\n\nA malicious user on a Synapse homeserver X with permission to create certain state events can disable outbound federation from X to an arbitrary homeserver Y.\n\nSynapse instances with federation disabled are not affected.\n\n#### Details\n\nThe Matrix protocol allows homeservers to provide an `invite_room_state` field on a [room invite](https://spec.matrix.org/v1.5/client-server-api/#mroommember) containing a [summary of room state](https://spec.matrix.org/v1.5/client-server-api/#stripped-state). In versions of Synapse up to and including v1.73.0, Synapse did not limit the size of `invite_room_state`, meaning that it was possible to create an arbitrarily large invite event.\n\nAn attacker with an account on a vulnerable Synapse homeserver X could exploit this by having X create an over-sized invite event in a room with a user from another homeserver Y. Once acknowledged by the invitee's homeserver, the invite event would be sent in a batch of events to Y. If the malicious invite is so large that the entire batch is rejected as too large, X's outgoing traffic to Y would become \"stuck\", meaning that messages and state events created by X would remain unseen by Y.\n\n### Patches\n\nSynapse 1.74 refuses to create oversized `invite_room_state` fields. Server operators should upgrade to Synapse 1.74 or newer urgently.\n\n### Workarounds\n\nThere are no robust workarounds.\n\nThis attack needs an account on Synapse homeserver X to deny federation from X to another homeserver Y. As a partial mitigation, Synapse operators can disable open registration to limit the ability of attackers to create new accounts on homeserver X.\n\nIf homeserver X has been attacked in this way, restarting it will resume outgoing federation by entering \"catchup mode\". For catchup mode to ignore the oversized invites, every attacked room must have a correctly-sized event sent by X which is newer than any oversized invite. This is difficult to arrange, and does not prevent the attacker from repeating their attack.\n\n### References\n\n- https://github.com/matrix-org/synapse/issues/14492 was caused by this issue.\n- https://github.com/matrix-org/synapse/issues/14642 includes the patch described above.\n\n### For more information\n\nIf you have any questions or comments about this advisory, e-mail us at [security@matrix.org](mailto:security@matrix.org).",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:L"
}, {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:L"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "matrix-synapse"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.74.0"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/matrix-org/synapse/security/advisories/GHSA-f3wc-3vxv-xmvr"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2023-32323"
}, {
"type" : "WEB",
"url" : "https://github.com/matrix-org/synapse/issues/14492"
}, {
"type" : "WEB",
"url" : "https://github.com/matrix-org/synapse/pull/14642"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/matrix-org/synapse"
}, {
"type" : "WEB",
"url" : "https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2023-67.yaml"
}, {
"type" : "WEB",
"url" : "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UJIJRP5ZH6B3KGFLHCAKR2IX2Y4Z25QD"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-20" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2023-05-24T17:28:26Z",
"nvd_published_at" : "2023-05-26T14:15:10Z"
}
}