RUSTSEC-2023-0071: Marvin Attack timing side-channel in rsa
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 8
- Forks
- 8
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 36
Description
Advisory Details
| Field | Value |
|---|---|
| Advisory | RUSTSEC-2023-0071 |
| Package | rsa |
| Installed version | 0.9.9 |
| Severity | 5.9 (medium) |
| Status | No fixed version available |
Description
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 (Marvin Attack).
Dependency tree
rsa 0.9.9
├── jsonwebtoken 10.4.0
│ └── services 0.0.0
└── dcap-qvl-webpki 0.103.4+dcap.1
└── dcap-qvl 0.4.1
└── services 0.0.0
Why this is blocked
The rsa crate has no patched version available. This is a known ecosystem-wide issue.
Blocked by: rsa crate — no fix released
Risk assessment for this repo
Low. The rsa crate enters through two paths: (1) jsonwebtoken for JWT processing — this repo only uses HS256 (HMAC), not RSA algorithms; (2) dcap-qvl-webpki for certificate verification in TEE attestation, not for RSA decryption operations. The Marvin Attack requires observing timing of RSA decryption.
Remediation
- Monitor the
rsacrate for a release that addresses the timing side-channel. - Already tracked in
audit.tomlignore list.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the RUSTSEC-2023-0071 advisory and the dependency tree in this issue, then inspect the audit.toml ignore list. Confirm whether a fixed rsa release is available and whether the listed jsonwebtoken and dcap-qvl-webpki paths still apply. Done means updating the remediation or ignore entry when an upstream fix exists; no fix is currently available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100