Skip to content
OpenAdvisories
Medium · 5.4 CVE-2024-40648 EUVD-2024-2249GHSA-4qg4-cvh2-crggRUSTSEC-2024-0356

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

Published Jul 18, 2024 · Updated Aug 2, 2024 · Assigned by GitHub_M

Description

matrix-rust-sdk is an implementation of a Matrix client-server library in Rust. 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. 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. The 0.7.2 release of the `matrix-sdk-crypto` crate includes a fix. All users are advised to upgrade. There are no known workarounds for this vulnerability.

Affected products

VendorProductAffectedFixed
matrix-org matrix-rust-sdk < 0.7.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Tumbleweed cargo-audit-advisory-db 20240730-1.1 openSUSE-SU-2024:14224-1

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io matrix-sdk-crypto < 0.7.2 0.7.2 GHSA-4qg4-cvh2-crgg
crates.io matrix-sdk-crypto >= 0.0.0-0, < 0.7.2 0.7.2 RUSTSEC-2024-0356

Advisories 1

References