Skip to content

magic-crypt uses insecure cryptographic algorithms

Low severity GitHub Reviewed Published Dec 30, 2024 to the GitHub Advisory Database • Updated Dec 30, 2024

Package

cargo magic-crypt (Rust)

Affected versions

<= 4.0.1

Patched versions

None

Description

This crate uses a number of cryptographic algorithms that are no longer considered secure and it uses them in ways that do not guarantee the integrity of the encrypted data.

MagicCrypt64 uses the insecure DES block cipher in CBC mode without authentication. This allows for practical brute force and padding oracle attacks and does not protect the integrity of the encrypted data. Key and IV are generated from user input using CRC64, which is not at all a key derivation function.

MagicCrypt64, MagicCrypt128, MagicCrypt192, and MagicCrypt256 are all vulnerable to padding-oracle attacks. None of them protect the integrity of the ciphertext. Furthermore, none use password-based key derivation functions, even though the key is intended to be generated from a password.

Each of the implementations are unsound in that they use uninitialized memory without MaybeUninit or equivalent structures.

For more information, visit the issue.

References

Published to the GitHub Advisory Database Dec 30, 2024
Reviewed Dec 30, 2024
Last updated Dec 30, 2024

Severity

Low

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-gmx7-gr5q-85w5
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.