Add reference to the bridge examples. (#23) #83
Security advisories found
1 advisory(ies), 3 unmaintained
Details
Vulnerabilities
RUSTSEC-2024-0344
Timing variability in
curve25519-dalek
'sScalar29::sub
/Scalar52::sub
Details | |
---|---|
Package | curve25519-dalek |
Version | 3.2.0 |
URL | dalek-cryptography/curve25519-dalek#659 |
Date | 2024-06-18 |
Patched versions | >=4.1.3 |
Timing variability of any kind is problematic when working with potentially secret values such as
elliptic curve scalars, and such issues can potentially leak private keys and other secrets. Such a
problem was recently discovered in curve25519-dalek
.
The Scalar29::sub
(32-bit) and Scalar52::sub
(64-bit) functions contained usage of a mask value
inside a loop where LLVM saw an opportunity to insert a branch instruction (jns
on x86) to
conditionally bypass this code section when the mask value is set to zero as can be seen in godbolt:
- 32-bit (see L106): <https://godbolt.org/z/zvaWxzvqv>
- 64-bit (see L48): <https://godbolt.org/z/PczYj7Pda>
A similar problem was recently discovered in the Kyber reference implementation:
<https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/hqbtIGFKIpU/m/cnE3pbueBgAJ>
As discussed on that thread, one portable solution, which is also used in this PR, is to introduce a
volatile read as an optimization barrier, which prevents the compiler from optimizing it away.
The fix can be validated in godbolt here:
- 32-bit: <https://godbolt.org/z/jc9j7eb8E>
- 64-bit: <https://godbolt.org/z/x8d46Yfah>
The problem was discovered and the solution independently verified by
Alexander Wagner <[email protected]> and Lea Themint <[email protected]> using
their DATA tool:
<https://github.com/Fraunhofer-AISEC/DATA>
Warnings
RUSTSEC-2021-0139
ansi_term is Unmaintained
Details | |
---|---|
Status | unmaintained |
Package | ansi_term |
Version | 0.12.1 |
URL | ogham/rust-ansi-term#72 |
Date | 2021-08-18 |
The maintainer has advised that this crate is deprecated and will not receive any maintenance.
The crate does not seem to have much dependencies and may or may not be ok to use as-is.
Last release seems to have been three years ago.
Possible Alternative(s)
The below list has not been vetted in any way and may or may not contain alternatives;
Dependency Specific Migration(s)
RUSTSEC-2020-0168
mach is unmaintained
Details | |
---|---|
Status | unmaintained |
Package | mach |
Version | 0.3.2 |
URL | fitzgen/mach#63 |
Date | 2020-07-14 |
Last release was almost 4 years ago.
Maintainer(s) seem to be completely unreachable.
Possible Alternative(s)
These may or may not be suitable alternatives and have not been vetted in any way;
- mach2 - direct fork
RUSTSEC-2022-0061
Crate
parity-wasm
deprecated by the author
Details | |
---|---|
Status | unmaintained |
Package | parity-wasm |
Version | 0.45.0 |
URL | paritytech/parity-wasm#334 |
Date | 2022-10-01 |
This PR explicitly deprecates parity-wasm
.
The author recommends switching to wasm-tools.