Skip to content
OpenAdvisories

Ecosystem

crates.io

2,067 known vulnerabilities.

2,066 results · Feed

  • High 7.4

    Deno: Miller-Rabin Primality Test Allows Zero Rounds

    Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.8.1, node:crypto.checkPrime(candidate[, options][, callback]) and crypto.checkPrimeSync(candidate[, options]) ran no Miller-Rabin rounds at all when the caller left options.checks at its de…

  • High —

    skillctl: argument injection, path traversal in --dest, FIFO/device DoS, hardlink exfiltration, and commit-trailer forgery

    ## Impact Following the path-safety patches in [GHSA-wx3m-whqv-xv47](https://github.com/umanio-agency/skillctl/security/advisories/GHSA-wx3m-whqv-xv47) (v0.1.2), a comprehensive multi-angle audit surfaced five further vulnerabilities, now patched in v0.1.3: 1…

  • Medium 5.3

    Panic in `bcrypt::verify` on non-ASCII hash input

    `bcrypt::verify(password, hash)` and `HashParts::from_str(hash)` panic in `str::slice_error_fail` when given a 60-byte `&str` containing a multi-byte UTF-8 character at certain byte positions. ## Impact Any Rust code that calls `bcrypt::verify` (or `HashParts…

  • Unscored —

    Unchecked pointer offset in crate `memmap2`

    Affected versionf of `memmap2` did not perform enough validation on the `offset` and `len` parameters of `Mmap::[unchecked_]advise_range()`, `MmapMut::[unchecked_]advise_ranage()` and `MmapMut::flush[_async]_range()`. This can cause undefined behavior due to …

  • Medium 5.6

    Use-after-free in connection ID iterator and FFI functions

    Cloudflare Quiche was affected by 2 use-after-free vulnerabilities in the connection ID iterator FFI functions. The “quiche_connection_id_iter_next” and “quiche_conn_retired_scid_next” functions would return a pointer to a “ConnectionId” to the applications v…

  • High 7.5

    Wasmtime: WASI path_open(TRUNCATE) bypasses `FilePerms::WRITE` host restriction

    Wasmtime is a runtime for WebAssembly. In versions prior to 24.0.9, 36.0.10, and 44.0.2, when a filesystem preopen is given DirPerms::all() and FilePerms::READ without FilePerms::WRITE, this access control mechanism can be bypassed via the wasip2 descriptor.o…

  • Medium —

    PyO3 has a missing `Sync` bound on `PyCFunction::new_closure` closures

    `PyCFunction::new_closure` (and the temporary `new_closure_bound` complement in the 0.21–0.22 series) required the supplied closure to be `Send + 'static` but not `Sync`. The resulting `PyCFunction` is a Python callable that can be invoked from any Python thr…

  • High —

    PyO3 has an Out-of-bounds Read in `nth` / `nth_back` for `PyList` and `PyTuple` iterators

    PyO3 0.24.0 added optimized implementations of `Iterator::nth` and `DoubleEndedIterator::nth_back` for the `BoundListIterator` and `BoundTupleIterator` types. These implementations computed the target index using unchecked `usize` addition (`index + n`) befor…

  • Medium 5.8

    unbounded-spsc: Sender::send pointer-as-value transmute causes OOB read and fake-Arc drop under TX/RX race

    unbounded_spsc is an "unbounded" extension of bounded_spsc_queue. In versions 0.2.0 and prior, sender::send pointer-as-value transmute causes OOB read and fake-Arc drop under TX/RX race. At time of publication, there are no publicly available patches.

  • Critical 10.0

    BoxLite: Permission Bypass in boxlite Allows Modification of Read-Only Files

    Boxlite is a sandbox service that allows users to create lightweight virtual machines (Boxes) and launch OCI containers within them to run untrusted code. Prior to version 0.9.0, Boxlite does not restrict the kernel capabilities available inside the container…

  • Critical 9.6

    BoxLite: Path Traversal Vulnerability in boxlite Leads to Arbitrary File Write on the Host

    Boxlite is a sandbox service that allows users to create lightweight virtual machines (Boxes) and launch OCI containers within them to run untrusted code. Prior to version 0.9.0, Boxlite allows users to specify the OCI image used by containers in the sandbox.…

  • High 8.7

    Kanidm: Unauthenticated process abort via SCIM filter stack exhaustion

    Kanidm is an identity management platform. Prior to version 1.9.3, a single unauthenticated GET to any /scim/v1/... endpoint with a ?filter= query string of a few thousand nested parentheses (≈ 4–12 KB) drives the recursive-descent PEG parser past the worker …

  • High 7.5

    Russh: SSH message fields were decoded through allocation-first parsers before field-specific bounds

    Russh is a Rust SSH client & server library. From version 0.34.0 to before version 0.61.0, several russh client and server message handlers decoded attacker-controlled SSH strings, name-lists, and byte fields into owned allocations before applying field-speci…

  • Medium 5.3

    Russh: SSH identification parsing accepted non-canonical client banners and did not bound pre-banner input

    Russh is a Rust SSH client & server library. From version 0.34.0-beta.1 to before version 0.61.0, russh did not enforce the SSH identification-string rules as deliberately as OpenSSH. In particular, the server-side identification reader used the same permissi…

  • Medium 6.5

    Russh: Unchecked keyboard-interactive prompt count in client auth path

    Russh is a Rust SSH client & server library. From version 0.37.0 to before version 0.61.0, in the russh client keyboard-interactive authentication path, a malicious SSH server could send a USERAUTH_INFO_REQUEST with an attacker-controlled prompt count, and th…

  • Medium 5.3

    russh server userauth state is not reset when authentication principal changes

    Russh is a Rust SSH client & server library. From version 0.34.0-beta.1 to before version 0.61.0, the russh server authentication path keeps internal userauth state across SSH_MSG_USERAUTH_REQUEST messages without separating that state when the request princi…

  • High 7.5

    Russh: Post-decompression SSH packet size was not bounded, allowing remote oversized compressed packets

    Russh is a Rust SSH client & server library. From version 0.34.0 to before version 0.61.1, when SSH compression is enabled, russh accepted compressed packets whose on-wire size passed the normal transport packet-length checks but whose decompressed size was m…

  • High 7.5

    Russh: Unchecked CryptoVec allocation and growth handling is reachable from local agent inputs in current russh releases and from remote SSH traffic in historical pre-0.58.0 releases

    Russh is a Rust SSH client & server library. Prior to version 0.60.3, CryptoVec used unchecked capacity growth, unchecked length arithmetic, and unsafe allocation/locking paths. In current russh releases, local SSH agent peers could still feed attacker-contro…

  • High 8.9

    Plonky3 MultiField32Challenger: transcript malleability and challenge entropy loss

    Plonky3 is a toolkit for polynomial IOPs (PIOPs). Prior to versions 0.4.3 and 0.5.3, an attacker controlling prover-side observations can craft distinct transcripts that produce identical challenges, breaking the binding property of Fiat-Shamir. This issue ha…

  • Medium 5.3

    Excessive memory allocation in s2n-quic

    Unbounded memory allocation in the CRYPTO frame reassembler in s2n-quic before 1.8.2 may allow an unauthenticated remote actor to cause a denial of service (degraded availability) by sending crafted QUIC Initial packets. To remediate this issue, users should …

  • Unscored —

    `onering` 1.4.1 was removed from crates.io for malicious code

    A new version of the `onering` crate was published with code that attempted to exfiltrate both metadata and code from the project it was included within. One malicious version was published on 2026-06-10, approximately six hours before removal. This crate has…

  • High 7.5

    nimiq-primitives: Panic DoS in trie chunk processing via ROOT-keyed item

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.5.0, a remote, unauthenticated denial-of-service vulnerability in MerkleRadixTrie::put_chunk allows any state-sync peer to crash…

  • Medium 5.3

    nimiq-blockchain: Genesis batch set request

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.5.0, a remote peer can crash any full node by sending a RequestBatchSet message containing the genesis block's hash. The handler…

  • Medium 4.3

    nimiq-keys: Denial of service in Ed25519 multisig delinearization via invalid curve points

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.4.0, a denial-of-service vulnerability exists in the Ed25519 multisig delinearization code path. Ed25519PublicKey::delinearize()…

  • Medium 5.9

    nimiq-primitives: BlockInclusionProof interlink issue when hops are empty

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.4.0, a logic flaw in BlockInclusionProof::is_block_proven causes the function to return true without performing any cryptographi…

  • Unscored —

    AES-GCM did not enforce limits on AAD length

    NIST Special Publication 800-38D specifies that the bit length of the AAD shall not exceed `2^64 - 1` bits. The implementation of AES-GCM in `libcrux-aesgcm` neither enforced this limit for encryption nor for decryption. ## Impact Use of AES-GCM with AAD of l…

  • High 8.7

    Routinator crashes on specifically crafted RRDP XML files

    When Routinator encounters a file via RRDP using a specifically crafted Document Type Definition, Routinator crashes.

  • High 8.2

    Routinator crashes on specifically crafted ASN strings in the API

    When sending a specifically crafted non-UTF-8 string as select-asn query parameter to the /api/v1/origins endpoint, Routinator crashes. This only affects users who allow API access from untrusted networks.

  • High 8.3

    Routinator cache path traversal using rogue rsync URIs

    Routinator does not properly check the module component of rsync URIs, which are used to create the file system paths for the Routinator cache. This allows for path traversal by having a module name containing .., potentially providing an attacker access to t…

  • Unscored —

    proc-macro-error2 is unmaintained

    The author of `proc-macro-error2` has [confirmed](https://github.com/GnomedDev/proc-macro-error-2/issues/17#issuecomment-4643215473) that the crate is no longer maintained and recommends that users migrate away from it. `proc-macro-error2` was originally crea…

  • High —

    skillctl: Path traversal and symlink-follow in skillctl allow arbitrary file disclosure and deletion

    ## Impact `skillctl` 0.1.0 and 0.1.1 contained four path-safety vulnerabilities that, in combination, allowed an attacker to: 1. **Exfiltrate arbitrary files on the operator's machine** by publishing a malicious skills library containing a symlink inside a sk…

  • Unscored —

    tide is unmaintained

    The tide crate is unmaintained, and all versions are affected. The closest maintained alternative might be [trillium](https://crates.io/crates/trillium). See [this issue](https://github.com/http-rs/tide/issues/922) for more context.

  • Unscored —

    surf is unmaintained

    The surf crate is unmaintained, and all versions are affected. For alternatives, consider using [reqwest](https://crates.io/crates/reqwest) or [ureq](https://crates.io/crates/ureq). See [this issue](https://github.com/http-rs/surf/issues/352) for more context.

  • Unscored —

    `pqcrypto-hqc` is unmaintained: upstream PQClean project being archived

    This crate provides Rust bindings to the HQC key encapsulation mechanism via C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://github.com/PQClea…

  • Unscored —

    `pqcrypto-classicmceliece` is unmaintained: upstream PQClean project being archived

    This crate provides Rust bindings to the Classic McEliece key encapsulation mechanism via C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://gith…

  • Unscored —

    `pqcrypto-mldsa` is unmaintained: upstream PQClean project being archived

    This crate provides Rust bindings to ML-DSA (FIPS 204) via C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://github.com/PQClean/PQClean/issues/6…

  • Unscored —

    `pqcrypto-falcon` is unmaintained: upstream PQClean project being archived

    This crate provides Rust bindings to the Falcon (FN-DSA) signature scheme via C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://github.com/PQCle…

  • Unscored —

    `pqcrypto` is unmaintained: upstream PQClean project being archived

    The `pqcrypto` crate and the entire `pqcrypto-*` ecosystem wrap C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://github.com/PQClean/PQClean/iss…

  • Unscored —

    `pqcrypto-internals` is unmaintained: upstream PQClean project being archived

    This crate provides internal FFI utilities for the `pqcrypto-*` ecosystem, directly wrapping C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://g…

  • Unscored —

    `pqcrypto-traits` is unmaintained: upstream PQClean project being archived

    This crate provides shared trait definitions for the `pqcrypto-*` ecosystem, which wraps C implementations from [PQClean](https://github.com/PQClean/PQClean). The PQClean project is being archived in or after July 2026 (see [PQClean/PQClean#604](https://githu…