Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RUSTSEC-2023-0071: add CVSS, aliases, and new wording #1828

Merged
merged 1 commit into from
Nov 28, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions crates/rsa/RUSTSEC-2023-0071.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,25 @@ keywords = ["cryptography"]
categories = ["crypto-failure"]
url = "https://github.com/RustCrypto/RSA/issues/19#issuecomment-1822995643"
references = ["https://people.redhat.com/~hkario/marvin/"]
cvss = "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"
aliases = ["GHSA-c38w-74pg-36hr"]

[versions]
patched = []
```

# Marvin Attack: potential key recovery through timing sidechannels

The [Marvin Attack] is a timing sidechannel vulnerability which allows
performing RSA decryption and signing operations as an attacker with the
ability to observe only the time of the decryption operation performed with
the private key.
## 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.

A recent survey of RSA implementations found that the Rust `rsa` crate is one
of many implementations vulnerable to this attack.
## Patches
No patch is yet available, however work is underway to migrate to a fully constant-time implementation.

No fixed version is available at this time.
## Workarounds
The only currently available workaround is to avoid using the `rsa` crate in settings where attackers are able to observe timing information, e.g. 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.

[Marvin Attack]: https://people.redhat.com/~hkario/marvin/