CVE Vulnerabilities

CVE-2021-29471

Uncontrolled Resource Consumption

Published: May 11, 2021 | Modified: Nov 21, 2024
CVSS 3.x
5.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

Synapse is a Matrix reference homeserver written in python (pypi package matrix-synapse). Matrix is an ecosystem for open federated Instant Messaging and VoIP. In Synapse before version 1.33.2 Push rules can specify conditions under which they will match, including event_match, which matches event content against a pattern including wildcards. Certain patterns can cause very poor performance in the matching engine, leading to a denial-of-service when processing moderate length events. The issue is patched in version 1.33.2. A potential workaround might be to prevent users from making custom push rules, by blocking such requests at a reverse-proxy.

Weakness

The product does not properly control the allocation and maintenance of a limited resource.

Affected Software

NameVendorStart VersionEnd Version
SynapseMatrix*1.33.2 (excluding)
Matrix-synapseUbuntubionic*
Matrix-synapseUbuntuesm-apps/bionic*
Matrix-synapseUbuntuesm-apps/focal*
Matrix-synapseUbuntuesm-apps/jammy*
Matrix-synapseUbuntufocal*
Matrix-synapseUbuntugroovy*
Matrix-synapseUbuntuhirsute*
Matrix-synapseUbuntuimpish*
Matrix-synapseUbuntujammy*
Matrix-synapseUbuntukinetic*
Matrix-synapseUbuntutrusty*
Matrix-synapseUbuntuupstream*
Matrix-synapseUbuntuxenial*

Potential Mitigations

  • Mitigation of resource exhaustion attacks requires that the target system either:

  • The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

  • The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

References