CVE-2026-45056

Matrix Rust SDK: Sender-binding gaps in to-device and room-key attribution

Published Sep 11, 2026 CVSS 4.0 · 6.9 Medium EPSS < 1% KEV · Not listed
Description
matrix-sdk-crypto is a no-network-IO implementation of a state machine that handles end-to-end encryption for Matrix clients. Starting in version 0.12.0 and prior to version 0.17.0, the matrix-sdk-crypto crate was missing a check for the user ID when decrypting an Olm-encrypted event containing the `sender_device_keys` property. This could be exploited to forge an encrypted to-device event, but only if the attacker colludes with the homeserver operator. This issue is fixed in matrix-sdk-crypto 0.17.0. There are no known workarounds for the issue.

Analysis

AI-generated

Technical impact

matrix-sdk-crypto, a component of the matrix‑org matrix-rust‑sdk project, handles end-to-end encryption for Matrix clients without performing network I/O. Beginning with version 0.12.0 and continuing through 0.16.x, the crate omitted a check for the user identifier when decrypting Olm-encrypted events that include a sender_device_keys field. This missing check is a CWE-290 flaw that allows an attacker who can collude with the homeserver operator to forge an encrypted to-device event that appears to come from a legitimate user. Although the flaw does not directly enable code execution or data exfiltration, it can mislead a client into attributing a message or policy update to an unrelated user, potentially undermining trust and session integrity.

Affected Systems

The affected product is the matrix‑sdk‑crypto component of matrix‑rust‑sdk from matrix‑org. Versions 0.12.0 through 0.16.x are vulnerable. Updates starting with version 0.17.0 include the missing check and are considered safe.

Risk and Exploitability

The CVSS score of 6.9 indicates a moderate severity. The EPSS score is less than 1 % and the vulnerability is not listed in that widespread exploitation is unlikely. However, an attacker would need to collude with a homeserver operator to inject or alter the sender_device_keys during decryption, so the threat is concentrated on privileged or internal actors that can manipulate the homeserver environment.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade matrix‑sdk‑crypto to version 0.17.0 or newer.
  • Limit administrative access to the homeserver to trusted personnel and implement strict change‑control procedures to prevent unauthorized modification of sender_device_keys.
  • Separate the homeserver network segment from other internal systems to reduce the risk of collusion or compromise.
  • Maintain an up‑to‑date dependency inventory and monitor the project's repository for new advisories that may re‑introduce similar weaknesses.

Generated by OpenCVE AI on September 15, 2026 at 19:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-wfq4-36m3-9g42 Matrix Rust SDK: Sender-binding gaps in to-device and room-key attribution
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Matrix-org
Matrix-org matrix-rust-sdk
Vendors & Products Matrix-org
Matrix-org matrix-rust-sdk
Type Values Removed Values Added
Description matrix-sdk-crypto is a no-network-IO implementation of a state machine that handles end-to-end encryption for Matrix clients. Starting in version 0.12.0 and prior to version 0.17.0, the matrix-sdk-crypto crate was missing a check for the user ID when decrypting an Olm-encrypted event containing the `sender_device_keys` property. This could be exploited to forge an encrypted to-device event, but only if the attacker colludes with the homeserver operator. This issue is fixed in matrix-sdk-crypto 0.17.0. There are no known workarounds for the issue.
Title Matrix Rust SDK: Sender-binding gaps in to-device and room-key attribution
Weaknesses CWE-290
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-290

    Authentication Bypass by Spoofing

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 14, 2026, 6:17 PM
Reserved
May 8, 2026, 6:07 PM
Status
Deferred
Published
Sep 11, 2026, 10:16 PM
Modified
Sep 30, 2026, 7:57 PM