Matrix Synapse before 0.34.0.1, when the macaroon_secret_key authentication parameter is not set, uses a predictable value to derive a secret key and other secrets which could allow remote attackers to impersonate users.
Weakness
The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.
Affected Software
| Name | Vendor | Start Version | End Version |
|---|
| Synapse | Matrix | * | 0.34.0.1 (excluding) |
| Matrix-synapse | Ubuntu | bionic | * |
| Matrix-synapse | Ubuntu | cosmic | * |
| Matrix-synapse | Ubuntu | esm-apps/bionic | * |
| Matrix-synapse | Ubuntu | upstream | * |
Potential Mitigations
- Use a well-vetted algorithm that is currently considered to be strong by experts in the field, and select well-tested implementations with adequate length seeds.
- In general, if a pseudo-random number generator is not advertised as being cryptographically secure, then it is probably a statistical PRNG and should not be used in security-sensitive contexts.
- Pseudo-random number generators can produce predictable numbers if the generator is known and the seed can be guessed. A 256-bit seed is a good starting point for producing a “random enough” number.
References