Skip to content
Open
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
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"schema_version": "1.4.0",
"id": "GHSA-c38w-74pg-36hr",
"modified": "2026-04-27T16:45:08Z",
"modified": "2026-09-12T00:00:00Z",
"published": "2023-11-28T23:28:27Z",
"aliases": [
"CVE-2023-49092"
],
"summary": "Marvin Attack: potential key recovery through timing sidechannels",
"details": "### Impact\nDue 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.\n\n### Patches\nNo patch is yet available, however work is underway to migrate to a fully constant-time implementation.\n\n### Workarounds\nThe 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.\n\n### References\nThis vulnerability was discovered as part of the \"Marvin Attack\", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.\n\n- https://rustsec.org/advisories/RUSTSEC-2023-0071.html\n- https://people.redhat.com/~hkario/marvin/\n- https://github.com/RustCrypto/RSA/issues/19",
"details": "### Impact\nDue 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.\n\n### Patches\nNo patch is yet available. The crypto-bigint migration (https://github.com/RustCrypto/RSA/pull/394) did not close this. Tracking is https://github.com/RustCrypto/RSA/issues/626 (padding still not constant-time). Implicit rejection work is in https://github.com/RustCrypto/RSA/pull/680; default-path blinding is in https://github.com/RustCrypto/RSA/pull/702.\n\nPublished versions still affected as of 2026-09-12: rsa 0.9.10 (latest stable) and rsa 0.10.0-rc.18 (latest). The previous `last_affected` of 0.9.6 was stale.\n\n### Workarounds\nAvoid 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.\n\njsonwebtoken users who need RSA should enable the `aws_lc_rs` backend. The `rust_crypto` backend of jsonwebtoken 11 still depends on rsa 0.9.6.\n\n### References\nThis vulnerability was discovered as part of the \"Marvin Attack\", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.\n\n- https://rustsec.org/advisories/RUSTSEC-2023-0071.html\n- https://people.redhat.com/~hkario/marvin/\n- https://github.com/RustCrypto/RSA/issues/626\n",
"severity": [
{
"type": "CVSS_V3",
Expand All @@ -28,7 +28,7 @@
"introduced": "0"
},
{
"last_affected": "0.9.6"
"last_affected": "0.10.0-rc.18"
}
]
}
Expand Down Expand Up @@ -59,6 +59,18 @@
{
"type": "WEB",
"url": "https://rustsec.org/advisories/RUSTSEC-2023-0071.html"
},
{
"type": "WEB",
"url": "https://github.com/RustCrypto/RSA/pull/680"
},
{
"type": "WEB",
"url": "https://github.com/RustCrypto/RSA/pull/702"
},
{
"type": "WEB",
"url": "https://github.com/RustCrypto/RSA/pull/394"
}
],
"database_specific": {
Expand All @@ -71,4 +83,4 @@
"github_reviewed_at": "2023-11-28T23:28:27Z",
"nvd_published_at": "2023-11-28T21:15:08Z"
}
}
}