Skip to content

vodozemac's usage of non-constant time base64 decoder could lead to leakage of secret key material

Low severity GitHub Reviewed Published Jul 17, 2024 in matrix-org/vodozemac • Updated Aug 7, 2024

Package

cargo vodozemac (Rust)

Affected versions

< 0.7.0

Patched versions

0.7.0

Description

Versions before 0.7.0 of vodozemac use a non-constant time base64 implementation for importing key material for Megolm group sessions and PkDecryption Ed25519 secret keys. This flaw might allow an attacker to infer some information about the secret key material through a side-channel attack.

Impact

The use of a non-constant time base64 implementation might allow an attacker to observe timing variations in the encoding and decoding operations of the secret key material. This could potentially provide insights into the underlying secret key material.

The impact of this vulnerability is considered low because exploiting the attacker is required to have access to high precision timing measurements, as well as repeated access to the base64 encoding or decoding processes. Additionally, the estimated leakage amount is bounded and low according to the referenced paper.

Patches

The patch is in commit 734b6c6948d4b2bdee3dd8b4efa591d93a61d272.

Workarounds

None.

References

A detailed description of the precise attack can be found at https://arxiv.org/abs/2108.04600. We kindly thank Soatok for pointing out this research to us.

For more information

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

References

@poljar poljar published to matrix-org/vodozemac Jul 17, 2024
Published by the National Vulnerability Database Jul 17, 2024
Published to the GitHub Advisory Database Jul 17, 2024
Reviewed Jul 17, 2024
Last updated Aug 7, 2024

Severity

Low

EPSS score

0.045%
(17th percentile)

Weaknesses

CVE ID

CVE-2024-40640

GHSA ID

GHSA-j8cm-g7r6-hfpq

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.