CVE-2021-29471 Denial of service in Matrix Synapse

Low 3.7 Published Updated

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.

Weakness: CWE-331, CWE-400

Which versions are affected by CVE-2021-29471?

3 open source packages ship an affected version, including matrix-synapse. It affects 2 products.

PackageAffectedFixed in
matrix-synapse PyPIAll versions1.33.2
matrix-synapse PyPIAll versions1.33.2
matrix-synapse PyPIAll versions1.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.

All Fedoraproject Fedora vulnerabilities

Sources

Also known as GHSA-x345-32rc-8h85, PYSEC-2021-135, UBUNTU-CVE-2021-29471.

Is CVE-2021-29471 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free