CVE-2021-29471 Denial of service in Matrix Synapse
Attackers can cause denial of service in Matrix Synapse by submitting push rules with inefficient wildcard patterns that degrade matching engine performance.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-29471?
CVE-2021-29471 is a low-severity denial of service vulnerability in Fedoraproject Fedora, published on 11 May 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
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.
Which versions are affected by CVE-2021-29471?
3 open source packages ship an affected version, including matrix-synapse. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
matrix-synapse PyPI | All versions | 1.33.2 |
matrix-synapse PyPI | All versions | 1.33.2 |
matrix-synapse PyPI | All versions | 1.33.2 |
Products include Fedoraproject Fedora, Matrix Synapse.
How do I fix CVE-2021-29471?
Upgrade matrix-synapse to 1.33.2 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2021-29471 being exploited?
There is no known exploitation of CVE-2021-29471 in the wild and no public exploit code.
Other vulnerabilities in Fedoraproject Fedora
Sources
Also known as GHSA-x345-32rc-8h85, PYSEC-2021-135, UBUNTU-CVE-2021-29471.