Skip to content

GHSA-x958-rvg6-956w CVE-2025-48937 RUSTSEC-2025-0041

matrix-sdk-crypto vulnerable to sender of encrypted events being spoofed by homeserver administrator

Medium crates.io
Severity
4.9 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.37%
Chance of exploitation in the next 30 days. Higher than 30.76% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-290 Authentication Bypass by Spoofing
Fix
0.11.1
Upgrade matrix-sdk-crypto to this version or later

Description

Summary

matrix-sdk-crypto since version 0.8.0 up to 0.11.0 does not correctly validate the sender of an encrypted event. Accordingly, a malicious homeserver operator can modify events served to clients, making those events appear to the recipient as if they were sent by another user.

Although the CVSS score is 4.9 (AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N), we consider this a High Severity security issue.

Details

The Matrix specification requires that clients ensure that "the event’s sender, room_id, and the recorded session_id match a trusted session". The vulnerable matrix-sdk-crypto versions check that the room_id matches that of the session denoted by session_id, but do not check the sender.

Patches

The issue is resolved by 13c1d20, included in versions 0.11.1 and 0.12.0 of matrix-sdk-crypto.

Workarounds

Since a successful attack requires administrator access to the homeserver, users who trust the administrators of their local homeserver are not affected.

References

Affected versions

crates.io

PackageVulnerableFixed in
matrix-sdk-crypto
>= 0.8.0, < 0.11.1
0.11.1

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

matrix-sdk-crypto crates.io → 0.11.1

cargo
cargo update -p matrix-sdk-crypto --precise 0.11.1

Severity breakdown

CVSS 3.1 4.9

CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
High
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Weakness

CWE-290: Authentication Bypass by Spoofing

This attack-focused weakness is caused by incorrectly implemented authentication schemes that are subject to spoofing attacks.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
RUSTSEC-2026-0318
Sending custom to-device messages may panics
Not rated yet Also affects matrix-sdk-crypto
GHSA-wfq4-36m3-9g42
Matrix Rust SDK: Sender-binding gaps in to-device and room-key attribution
Medium Also affects matrix-sdk-crypto
GHSA-4qg4-cvh2-crgg
matrix-sdk-crypto's `UserIdentity::is_verified` not checking verification status of own user identity while performing the check
Medium Also affects matrix-sdk-crypto
GHSA-9ggc-845v-gcgv
matrix-sdk-crypto contains a log exposure of private key of the server-side key backup
Medium Also affects matrix-sdk-crypto
GHSA-r5vf-wf4h-82gg
matrix-sdk-crypto missing facility to signal rotation of a verified cryptographic identity
Medium Also affects matrix-sdk-crypto
GHSA-vp68-2wrm-69qm
matrix-sdk-crypto contains potential impersonation via room key forward responses
High Also affects matrix-sdk-crypto
CVE-2026-102764
The vulnerability exists within internal components of BeyondTrust’s Remote Support product.
Critical Known exploited Same weakness, CWE-290
CVE-2026-104935
Authentication bypass by spoofing in ICS before version 25.1.3.0 allows a remote unauthenticated attacker to execute arbitrary commands.
High Known exploited Same weakness, CWE-290
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor