This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.

Crate matrix-sdk-base

Dependencies

(18 total, 7 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 async-stream^0.3.30.3.6up to date
 async-trait^0.1.530.1.88up to date
 dashmap^5.2.06.1.0out of date
 futures-channel^0.3.210.3.31up to date
 futures-core^0.3.210.3.31up to date
 futures-signals^0.3.300.3.34up to date
 futures-util^0.3.210.3.31up to date
 http^0.2.61.3.1out of date
 lru^0.8.00.14.0out of date
 matrix-sdk-common^0.6.00.11.0out of date
 matrix-sdk-crypto ⚠️^0.6.00.11.0out of date
 once_cell^1.10.01.21.3up to date
 ruma^0.7.00.12.2out of date
 serde^1.0.1361.0.219up to date
 serde_json^1.0.791.0.140up to date
 thiserror^1.0.302.0.12out of date
 tracing^0.1.340.1.41up to date
 zeroize^1.3.01.8.1up to date

Dev dependencies

(8 total, 3 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 assign^1.1.11.1.1up to date
 env_logger^0.9.00.11.8out of date
 futures^0.3.210.3.31up to date
 http^0.2.61.3.1out of date
 matrix-sdk-test^0.6.00.11.0out of date
 tokio ⚠️^1.17.01.45.0maybe insecure
 tracing^0.1.260.1.41up to date
 wasm-bindgen-test^0.3.300.3.50up to date

Security Vulnerabilities

tokio: reject_remote_clients Configuration corruption

RUSTSEC-2023-0001

On Windows, configuring a named pipe server with pipe_mode will force ServerOptions::reject_remote_clients as false.

This drops any intended explicit configuration for the reject_remote_clients that may have been set as true previously.

The default setting of reject_remote_clients is normally true meaning the default is also overridden as false.

Workarounds

Ensure that pipe_mode is set first after initializing a ServerOptions. For example:

let mut opts = ServerOptions::new();
opts.pipe_mode(PipeMode::Message);
opts.reject_remote_clients(true);

matrix-sdk-crypto: `UserIdentity::is_verified` not checking verification status of own user identity while performing the check

RUSTSEC-2024-0356

The UserIdentity::is_verified() method in the matrix-sdk-crypto crate before version 0.7.2 doesn't take into account the verification status of the user's own identity while performing the check and may as a result return a value contrary to what is implied by its name and documentation.

Impact

If the method is used to decide whether to perform sensitive operations towards a user identity, a malicious homeserver could manipulate the outcome in order to make the identity appear trusted. This is not a typical usage of the method, which lowers the impact. The method itself is not used inside the matrix-sdk-crypto crate.