CVE-2026-50185
NiskieCVSS 3.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W bibliotece RustCrypto CMOV w wersjach od 0.1.1 do 0.5.4, implementacje dla architektury aarch64 funkcji Cmov i CmovEq zakładają, że bity wysokie są wyzerowane przy ładowaniu wartości mniejszych niż rejestr, co może prowadzić do nieprawidłowych wyników operacji cmovz.
Ocena ryzyka
Ryzyko polega na potencjalnym błędnym działaniu operacji warunkowego przenoszenia, co może wpłynąć na poprawność kryptograficznych operacji stałoczasowych, potencjalnie umożliwiając ataki kanałami bocznymi.
Rekomendacja
Zaleca się aktualizację biblioteki RustCrypto CMOV do wersji 0.5.4 lub nowszej, która zawiera poprawkę.
Oryginalny opis (angielski, źródło NVD)
RustCrypto CMOV provides conditional move CPU intrinsics which are guaranteed on major platforms to execute in constant-time and not be rewritten as branches by the compiler. From 0.1.1 until 0.5.4, the aarch64 implementations of Cmov and CmovEq in cmov/src/backends/aarch64.rs assume high bits are zero-extended when loading values smaller than a register, so set high bits such as [8..] in a Cmov selector or [16..] of self or other in the u16 and i16 CmovEq implementations can cause left.cmovz(&right, condition) to produce incorrect output. This issue is fixed in version 0.5.4.

