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-sled

Dependencies

(18 total, 8 outdated, 2 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
 derive_builder^0.11.20.20.2out of date
 fs_extra^1.2.01.3.0up to date
 futures-core^0.3.210.3.31up to date
 futures-util^0.3.210.3.31up to date
 matrix-sdk-base^0.6.00.11.0out of date
 matrix-sdk-common^0.6.00.11.0out of date
 matrix-sdk-crypto ⚠️^0.6.00.11.0out of date
 matrix-sdk-store-encryption^0.2.00.11.0out of 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
 sled^0.34.70.34.7up to date
 thiserror^1.0.302.0.12out of date
 tokio ⚠️^1.17.01.45.0maybe insecure
 tracing^0.1.340.1.41up to date

Dev dependencies

(4 total, 1 possibly insecure)

CrateRequiredLatestStatus
 glob^0.3.00.3.2up to date
 once_cell^1.10.01.21.3up to date
 tempfile^3.3.03.19.1up to date
 tokio ⚠️^1.17.01.45.0maybe insecure

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.