Описание
Denial of service (via resource exhaustion) due to improper input validation on third-party identifier endpoints
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
Ссылки
- 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/package-announce@lists.fedoraproject.org/message/TNNAJOZNMVMXM6AS7RFFKB4QLUJ4IFEY
- https://pypi.org/project/matrix-synapse
Пакеты
matrix-synapse
< 1.28.0
1.28.0
Связанные уязвимости
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.28.0 Synapse is 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. Note that the groups feature is not part of the Matrix specification and the chosen maximum lengths are arbitrary. Not all clients might abide by them. Refer to referenced GitHub security advisory for additional details including workarounds.
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.28.0 Synapse is 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. Note that the groups feature is not part of the Matrix specification and the chosen maximum lengths are arbitrary. Not all clients might abide by them. Refer to referenced GitHub security advisory for additional details including workarounds.
Synapse is a Matrix reference homeserver written in python (pypi packa ...