Vulnerabilities > CVE-2022-41952 - Missing Release of Resource after Effective Lifetime vulnerability in Matrix Synapse
Summary
Synapse before 1.52.0 with URL preview functionality enabled will attempt to generate URL previews for media stream URLs without properly limiting connection time. Connections will only be terminated after `max_spider_size` (default: 10M) bytes have been downloaded, which can in some cases lead to long-lived connections towards the streaming media server (for instance, Icecast). This can cause excessive traffic and connections toward such servers if their stream URL is, for example, posted to a large room with many Synapse instances with URL preview enabled. Version 1.52.0 implements a timeout mechanism which will terminate URL preview connections after 30 seconds. Since generating URL previews for media streams is not supported and always fails, 1.53.0 additionally implements an allow list for content types for which Synapse will even attempt to generate a URL preview. Upgrade to 1.53.0 to fully resolve the issue. As a workaround, turn off URL preview functionality by setting `url_preview_enabled: false` in the Synapse configuration file.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- HTTP DoS An attacker performs flooding at the HTTP level to bring down only a particular web application rather than anything listening on a TCP/IP connection. This denial of service attack requires substantially fewer packets to be sent which makes DoS harder to detect. This is an equivalent of SYN flood in HTTP. The idea is to keep the HTTP session alive indefinitely and then repeat that hundreds of times. This attack targets resource depletion weaknesses in web server software. The web server will wait to attacker's responses on the initiated HTTP sessions while the connection threads are being exhausted.
References
- https://github.com/matrix-org/synapse/pull/11784
- https://github.com/matrix-org/synapse/pull/11784
- https://github.com/matrix-org/synapse/pull/11936
- https://github.com/matrix-org/synapse/pull/11936
- https://github.com/matrix-org/synapse/releases/tag/v1.52.0
- https://github.com/matrix-org/synapse/releases/tag/v1.52.0
- https://github.com/matrix-org/synapse/releases/tag/v1.53.0
- https://github.com/matrix-org/synapse/releases/tag/v1.53.0
- https://github.com/matrix-org/synapse/security/advisories/GHSA-4822-jvwx-w47h
- https://github.com/matrix-org/synapse/security/advisories/GHSA-4822-jvwx-w47h