This project contains known security vulnerabilities . Find detailed information at the bottom .
Crate base16ct No external dependencies! 🙌
Crate base32ct Dev dependencies (2 total, all up-to-date)
Crate Required Latest Status base32 ^0.50.5.1up to date proptest ^1.61.11.0up to date
Crate base64ct Dev dependencies (2 total, 1 outdated)
Crate Required Latest Status base64 ^0.220.23.1out of date proptest ^1.61.11.0up to date
Crate cmpv2 Dependencies (5 total, all up-to-date)
Crate Required Latest Status crmf =0.3.0-pre.00.2.0up to date der ^0.80.8.2up to date spki ^0.80.8.0up to date x509-cert ^0.30.3.0up to date digest ^0.110.11.3up to date
Dev dependencies (2 total, all up-to-date)
Crate cms Dependencies (17 total, 1 outdated, 1 insecure)
Dev dependencies (12 total, 1 insecure)
Crate const-oid Dependencies (1 total, all up-to-date)
Crate Required Latest Status arbitrary ^1.41.4.2up to date
Dev dependencies (3 total, all up-to-date)
Crate crmf Dependencies (4 total, all up-to-date)
Crate Required Latest Status cms =0.3.0-pre.20.2.3up to date der ^0.80.8.2up to date spki ^0.80.8.0up to date x509-cert ^0.30.3.0up to date
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status const-oid ^0.100.10.2up to date
Crate der Dependencies (10 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate der_derive Dependencies (3 total, 1 outdated)
Crate Required Latest Status proc-macro2 ^11.0.107up to date quote ^11.0.47up to date syn ^23.0.6out of date
Crate gss-api Dependencies (2 total, all up-to-date)
Crate Required Latest Status der ^0.80.8.2up to date spki ^0.80.8.0up to date
Dev dependencies (3 total, all up-to-date)
Crate mcf Dependencies (1 total, all up-to-date)
Crate Required Latest Status base64ct ^1.8.31.8.3up to date
Dev dependencies (1 total, all up-to-date)
Crate pem-rfc7468 Dependencies (1 total, all up-to-date)
Crate Required Latest Status base64ct ^1.41.8.3up to date
Crate phc Dependencies (4 total, all up-to-date)
Crate pkcs1 Dependencies (2 total, all up-to-date)
Crate Required Latest Status der ^0.80.8.2up to date spki ^0.80.8.0up to date
Dev dependencies (3 total, all up-to-date)
Crate pkcs5 Dependencies (13 total, all up-to-date)
Crate Required Latest Status der ^0.80.8.2up to date spki ^0.80.8.0up to date aead ^0.60.6.1up to date cbc ^0.20.2.1up to date aes ^0.90.9.3up to date aes-gcm ^0.110.11.1up to date des ^0.90.9.0up to date pbkdf2 ^0.130.13.0up to date getrandom ^0.40.4.3up to date rand_core ^0.100.10.1up to date scrypt ^0.120.12.0up to date sha1 ^0.110.11.0up to date sha2 ^0.110.11.0up to date
Dev dependencies (1 total, all up-to-date)
Crate pkcs8 Dependencies (6 total, all up-to-date)
Crate Required Latest Status der ^0.8.0-rc.120.8.2up to date spki ^0.80.8.0up to date ctutils ^0.40.4.2up to date getrandom ^0.40.4.3up to date pkcs5 ^0.80.8.1up to date rand_core ^0.100.10.1up to date
Dev dependencies (2 total, all up-to-date)
Crate pkcs12 Dependencies (7 total, all up-to-date)
Crate Required Latest Status der ^0.80.8.2up to date spki ^0.80.8.0up to date x509-cert ^0.30.3.0up to date const-oid ^0.100.10.2up to date cms =0.3.0-pre.20.2.3up to date digest ^0.110.11.3up to date zeroize ^1.8.11.9.0up to date
Dev dependencies (5 total, all up-to-date)
Crate sec1 Dependencies (7 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate serdect Dependencies (3 total, all up-to-date)
Crate Required Latest Status base16ct ^11.0.0up to date serde ^1.0.1841.0.229up to date zeroize ^11.9.0up to date
Dev dependencies (9 total, all up-to-date)
Crate spki Dependencies (5 total, all up-to-date)
Crate Required Latest Status der ^0.80.8.2up to date arbitrary ^1.41.4.2up to date base64ct ^11.8.3up to date digest ^0.110.11.3up to date sha2 ^0.110.11.0up to date
Dev dependencies (2 total, all up-to-date)
Crate tai64 Dependencies (2 total, all up-to-date)
Crate Required Latest Status serde ^11.0.229up to date zeroize ^1.81.9.0up to date
Crate tls_codec Dependencies (4 total, all up-to-date)
Dev dependencies (3 total, 1 outdated)
Crate tls_codec_derive Dependencies (3 total, 1 outdated)
Crate Required Latest Status syn ^23.0.6out of date quote ^1.01.0.47up to date proc-macro2 ^1.01.0.107up to date
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status trybuild ^11.0.121up to date
Crate x509-tsp Dependencies (4 total, all up-to-date)
Crate Required Latest Status der ^0.80.8.2up to date cms =0.3.0-pre.20.2.3up to date cmpv2 =0.3.0-pre.00.2.0up to date x509-cert ^0.30.3.0up to date
Dev dependencies (1 total, all up-to-date)
Crate x509-cert Dependencies (8 total, 1 outdated)
Dev dependencies (9 total, 1 outdated, 1 insecure)
Crate Required Latest Status hex-literal ^11.1.0up to date rand ^0.100.10.3up to date rsa ⚠️ ^0.10.0-rc.180.9.10insecure ecdsa ^0.170.17.0up to date p256 ^0.140.14.0up to date rstest ^0.260.27.0out of date sha2 ^0.110.11.0up to date tempfile ^3.53.27.0up to date tokio ^1.451.53.1up to date
Crate x509-cert-test-support Dependencies (3 total, all up-to-date)
Crate x509-ocsp Dependencies (7 total, all up-to-date)
Dev dependencies (6 total, 1 insecure)
Crate Required Latest Status hex-literal ^11.1.0up to date lazy_static ^1.5.01.5.0up to date rand ^0.100.10.3up to date rsa ⚠️ ^0.10.0-rc.180.9.10insecure sha1 ^0.110.11.0up to date sha2 ^0.110.11.0up to date
Security Vulnerabilities rsa: Marvin Attack: potential key recovery through timing sidechannelsRUSTSEC-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.