Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Denial of service (via resource exhaustion) due to improper input validation on third-party identifier endpoints

Low
richvdh published GHSA-w9fg-xffh-p362 Apr 12, 2021

Package

pip matrix-synapse (pip)

Affected versions

> 0.17.0

Patched versions

>= 1.28.0

Description

Impact

Missing input validation of some parameters on the endpoints used to confirm third-party identifiers could cause excessive use of disk space and memory leading to resource exhaustion.

Patches

The issue is fixed by #9321.

Workarounds

Depending on the needs and configuration of the homeserver a few options are available:

  1. Using email as third-party identifiers be disabled by not configuring the email setting.

  2. Using phone numbers as third-party identifiers can be disabled by ensuring that account_threepid_delegates.msisdn is not configured.

  3. Additionally, the affected endpoint patterns can be blocked at a reverse proxy:

    • ^/_matrix/client/(r0|unstable)/register/email
    • ^/_matrix/client/(r0|unstable)/register/msisdn
    • ^/_matrix/client/(r0|unstable)/account/password
    • ^/_matrix/client/(r0|unstable)/account/3pid

Severity

Low

CVE ID

CVE-2021-21394

Weaknesses

Improper Input Validation

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. Learn more on MITRE.