CVE-2023-49092
Medium · 5.9CVSS
5.9
EPSS
0.6%
Published
Nov 28, 2023
CISA due date
—
Cloudanix analysis
A flaw in a widely used encryption library could let attackers on the network gradually steal secret keys by watching how long operations take, potentially exposing protected data.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
Non-constant-time RSA implementation leaks private key material through observable network timing differences during cryptographic operations.
Why it matters to the business
Attackers with network access may recover private keys, exposing encrypted data and communications to decryption without any available software update.
How an attack unfolds
An attacker sends crafted RSA requests over the network and measures response timing variations to extract bits of the private key, enabling full key recovery over multiple observations.
How to fix it
Avoid deploying the RSA crate in any environment where network timing observations are possible; replace with an alternative constant-time RSA library once a fixed version becomes available.
How to confirm the fix worked
Audit source code and dependencies for RSA crate usage, confirm that cryptographic operations occur only in isolated non-networked contexts, and test for timing leakage using high-resolution timers in controlled environments.
Typical attack path
- Identify network-accessible endpoints using the vulnerable RSA implementation
- Send repeated RSA decryption or signature requests while measuring precise response times
- Analyze timing data to recover private key bits through statistical methods
- Reconstruct the full private key and decrypt captured or future traffic
How to detect it
Review application logs and network traffic for unusual volumes of RSA operations from single sources; correlate with any observed key compromise indicators such as unexpected decryption of protected sessions.
What your security team should do
- Inventory all applications and services depending on the RSA crate
- Restrict network exposure of affected services until a constant-time replacement is implemented
- Monitor upstream RustCrypto project for release of a patched version and plan immediate upgrade
- Evaluate migration to alternative crates with proven constant-time RSA support
The record
RustCrypto/RSA is a portable RSA implementation in pure Rust. 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. There is currently no fix available. As a workaround, avoid using the RSA crate in settings where attackers are able to observe timing information, e.g. local use on a non-compromised computer.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| crates.io | rsa | 0 | No fix |
| crates.io | rsa | 0.0.0-0 | No fix |
| Chainguard | atuin | 0 | 18.10.0-r0 |
| Chainguard | deno | 0 | 2.6.4-r1 |
| Chainguard | sccache | 0 | 0.12.0-r1 |
| Chainguard | zed | 0 | 0.166.1-r0 |
| Debian:13 | rust-rsa | 0 | No fix |
| Ubuntu:24.04:LTS | rust-rsa | 0 | No fix |
| Ubuntu:24.10 | rust-rsa | 0 | No fix |
| Ubuntu:25.04 | rust-rsa | 0 | No fix |
| Ubuntu:25.10 | rust-rsa | 0 | No fix |
| Wolfi | atuin | 0 | 18.10.0-r0 |
| Wolfi | deno | 0 | 2.6.4-r1 |
| Wolfi | sccache | 0 | 0.12.0-r1 |
| Wolfi | zed | 0 | 0.166.1-r0 |
| openSUSE:Tumbleweed | cargo-audit-advisory-db | 0 | 20231219-1.1 |
Related vulnerabilities
- CVE-2026-21895 The `rsa` crate is an RSA implementation written in rust. Also affects rsa
- GHSA-9c48-w39g-hm26 rsa crate has potential panic on a prime being equal to 1 Also affects rsa
- CVE-2026-25727 time provides date and time handling in Rust. Also affects atuin
- CVE-2026-25541 Bytes is a utility library for working with bytes. Also affects atuin
- CVE-2024-12224 `idna` accepts Punycode labels that do not produce any non-ASCII when decoded Also affects atuin
- CVE-2024-47609 Tonic is a native gRPC client & server implementation with async/await support. Also affects atuin
- CVE-2026-33056 tar-rs is a tar archive reading/writing library for Rust. Also affects deno
- CVE-2026-33055 tar-rs is a tar archive reading/writing library for Rust. Also affects deno