This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate age

Dependencies

(41 total, 20 outdated, 1 insecure)

CrateRequiredLatestStatus
 aes^0.80.9.3out of date
 aes-gcm^0.100.11.1out of date
 age-core^0.12.00.12.0up to date
 base64^0.220.23.1out of date
 bcrypt-pbkdf^0.100.11.0out of date
 bech32^0.110.12.0out of date
 cbc^0.10.2.1out of date
 chacha20poly1305^0.100.11.0out of date
 cipher^0.4.30.5.2out of date
 console^0.160.16.6up to date
 cookie-factory^0.3.10.3.3up to date
 ctr^0.90.10.1out of date
 curve25519-dalek^45.0.0out of date
 futures^0.30.3.34up to date
 hkdf^0.120.13.0out of date
 hmac^0.120.13.0out of date
 hpke^0.120.14.1out of date
 i18n-embed^0.160.16.0up to date
 i18n-embed-fl^0.100.10.1up to date
 is-terminal^0.40.4.17up to date
 lazy_static^11.5.0up to date
 memchr^2.52.8.3up to date
 ml-kem^0.20.3.2out of date
 nom^88.0.0up to date
 num-traits^0.20.2.19up to date
 p256^0.130.14.0out of date
 pin-project^11.1.13up to date
 pinentry^0.80.8.0up to date
 rand^0.80.10.3out of date
 rpassword^77.5.4up to date
 rsa ⚠️^0.90.9.10insecure
 rust-embed^88.12.0up to date
 scrypt^0.110.12.0out of date
 sha2^0.100.11.0out of date
 sha3^0.100.12.0out of date
 subtle^2.62.6.1up to date
 web-sys^0.30.3.106up to date
 which^88.0.6up to date
 wsl^0.10.1.0up to date
 x25519-dalek^23.0.0out of date
 zeroize^11.9.0up to date

Dev dependencies

(10 total, 3 outdated)

CrateRequiredLatestStatus
 criterion^0.50.8.2out of date
 criterion-cycles-per-byte^0.60.8.0out of date
 flate2^11.1.10up to date
 futures-test^0.30.3.34up to date
 hex^0.40.4.3up to date
 i18n-embed^0.160.16.0up to date
 pprof^0.130.15.0out of date
 proptest^11.11.0up to date
 test-case^33.4.0up to date
 tokio^11.53.1up to date

Security Vulnerabilities

rsa: Marvin Attack: potential key recovery through timing sidechannels

RUSTSEC-2023-0071

Impact

Due to a non-constant-time implementation, information about the private key is leaked through timing information which is observable over the network. An attacker may be able to use that information to recover the key.

Patches

No patch is yet available. The crypto-bigint migration (RustCrypto/RSA#394) did not close this. Tracking is RustCrypto/RSA#626 (padding still not constant-time). Implicit rejection work is in RustCrypto/RSA#680; default-path blinding is in RustCrypto/RSA#702.

Still affected as of 2026-09-12: rsa 0.9.10 (latest stable) and rsa 0.10.0-rc.18 (latest). patched = [] is intentional.

Workarounds

Avoid using the rsa crate in settings where attackers can observe timing, for example over the network. Local use on a non-compromised computer is fine.

References

This vulnerability was discovered as part of the "Marvin Attack", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.