matrix-org/synapse · Security
Denial of service (via resource exhaustion) due to improper input validation on third-party identifier endpoints
- GHSA ID
- GHSA-w9fg-xffh-p362
- CVE ID
- CVE-2021-21394
- Severity
- medium
- Published
- Updated
- CVSS
- 5.3 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 5.3 · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS v4
- 6 · CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
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:
-
Using email as third-party identifiers be disabled by not configuring the
emailsetting. -
Using phone numbers as third-party identifiers can be disabled by ensuring that
account_threepid_delegates.msisdnis not configured. -
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
CWEs
- CWE-20 · Improper Input Validation
References
- https://github.com/matrix-org/synapse/security/advisories/GHSA-w9fg-xffh-p362 ↗
- https://nvd.nist.gov/vuln/detail/CVE-2021-21394 ↗
- https://github.com/matrix-org/synapse/pull/9321 ↗
- https://github.com/matrix-org/synapse/pull/9393 ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/matrix-synapse/PYSEC-2021-27.yaml ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/TNNAJOZNMVMXM6AS7RFFKB4QLUJ4IFEY ↗
- https://pypi.org/project/matrix-synapse ↗
- https://github.com/advisories/GHSA-w9fg-xffh-p362 ↗