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.
The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Synapse | Matrix | * | 1.33.2 (excluding) |
Matrix-synapse | Ubuntu | bionic | * |
Matrix-synapse | Ubuntu | esm-apps/bionic | * |
Matrix-synapse | Ubuntu | esm-apps/focal | * |
Matrix-synapse | Ubuntu | esm-apps/jammy | * |
Matrix-synapse | Ubuntu | focal | * |
Matrix-synapse | Ubuntu | groovy | * |
Matrix-synapse | Ubuntu | hirsute | * |
Matrix-synapse | Ubuntu | impish | * |
Matrix-synapse | Ubuntu | jammy | * |
Matrix-synapse | Ubuntu | kinetic | * |
Matrix-synapse | Ubuntu | trusty | * |
Matrix-synapse | Ubuntu | upstream | * |
Matrix-synapse | Ubuntu | xenial | * |