nearai / nearai/cloud-api

RUSTSEC-2023-0071: Marvin Attack timing side-channel in rsa

Open
#652 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

blocked-upstream
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 rsa crate for a release that addresses the timing side-channel.
  • Already tracked in audit.toml ignore list.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.