Skip to content

GHSA-9ggc-845v-gcgv CVE-2024-34353

matrix-sdk-crypto contains a log exposure of private key of the server-side key backup

Medium crates.io
Severity
5.5 / 10
Medium · CVSS 3.1
Exploit chance (EPSS)
0.19%
Chance of exploitation in the next 30 days. Higher than 9.06% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-532 Insertion of Sensitive Information into Log File
Fix
0.7.1
Upgrade matrix-sdk-crypto to this version or later

Description

Introduction

In Matrix, the server-side key backup stores encrypted copies of Matrix message keys. This facilitates key sharing between a user's devices and provides a redundant copy in case all devices are lost. The key backup uses asymmetric cryptography, with each server-side key backup assigned a unique public-private key pair.

Impact

Due to a logic bug introduced in https://github.com/matrix-org/matrix-rust-sdk/pull/2961/commits/71136e44c03c79f80d6d1a2446673bc4d53a2067, the matrix-sdk-crypto crate version 0.7.0 will sometimes log the private part of the backup key pair to Rust debug logs (using the tracing crate).

Patches

This issue has been resolved in matrix-sdk-crypto version 0.7.1.

Workarounds

None.

References

For more information

If you have any questions or comments about this advisory, please email us at security at matrix.org.

Affected versions

crates.io

PackageVulnerableFixed in
matrix-sdk-crypto
>= 0.7.0, < 0.7.1
0.7.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.7.1

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

Severity breakdown

CVSS 3.1 5.5

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

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

Weakness

CWE-532: Insertion of Sensitive Information into Log File

The product writes sensitive information to a log file.

How to prevent it
  • Architecture and Design, Implementation: Consider seriously the sensitivity of the information written into log files. Do not write secrets into the log files.
  • Distribution: Remove debug log files before deploying the application into production.
  • Operation: Protect log files against unauthorized read/write.
  • Implementation: Adjust configurations appropriately when software is transitioned from a debug state to production.

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-x958-rvg6-956w
matrix-sdk-crypto vulnerable to sender of encrypted events being spoofed by homeserver administrator
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-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
GHSA-j7qq-vr8c-xvw3
MLflow CrewAI autologging records LLM provider API keys in logged trace spans
Medium Same weakness, CWE-532
EEF-CVE-2026-105963
Secret key base exposed in stack trace arguments on wrong-typed Plug.Crypto arguments
Not rated yet Same weakness, CWE-532
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