Skip to content
OpenAdvisories

Ecosystem

crates.io

2,075 known vulnerabilities.

2,074 results · Feed

  • Unscored —

    totally-safe-transmute allows transmuting any type to any other type in safe Rust

    This crate is a toy and should never be used. It showcases a known soundness issue (https://github.com/rust-lang/rust/issues/32670) that will never get fixed. In short, Linux provides a file called `/proc/self/mem` which can be used by a program to modify its…

  • Unscored —

    totally-safe introduces memory vulnerabilities in safe Rust

    `totally-safe` provides unsound APIs that exploit a soundness bug in rustc: https://github.com/rust-lang/rust/issues/25860

  • Unscored —

    cve-rs introduces memory vulnerabilities in safe Rust

    This crate is a joke and should never be used. `cve-rs` provides demonstrations of common memory vulnerabilities (such as buffer overflows and segfaults) implemented completely within safe Rust. Internally, this crate does not use unsafe code, it instead expl…

  • Medium —

    wasmvm: Malicious smart contract can slow down block production

    # CWA-2025-002 **Severity** Medium (Moderate + Likely)[^1] **Affected versions:** - wasmvm >= 2.2.0, < 2.2.2 - wasmvm >= 2.1.0, < 2.1.5 - wasmvm >= 2.0.0, < 2.0.6 - wasmvm < 1.5.8 **Patched versions:** - wasmvm 1.5.8, 2.0.6, 2.1.5, 2.2.2 ## Description of the…

  • Medium 6.3

    rust openssl ssl::select_next_proto use after free

    rust-openssl is a set of OpenSSL bindings for the Rust programming language. In affected versions `ssl::select_next_proto` can return a slice pointing into the `server` argument's buffer but with a lifetime bound to the `client` argument. In situations where …

  • High 8.6

    Soundness issue with Plonky2 look up tables

    Plonky2 is a SNARK implementation based on techniques from PLONK and FRI. Lookup tables, whose length is not divisible by 26 = floor(num_routed_wires / 3) always include the 0 -> 0 input-output pair. Thus a malicious prover can always prove that f(0) = 0 for …

  • Unscored —

    `custom-req-on-workers` was removed from crates.io for malicious code

    `custom-req-on-workers` was part of a campaign that attempted to exfiltrate environmental data from the host. The malicious crate had 1 version published in January 2025, and had no evidence of actual usage. This crate had no dependencies on crates.io.

  • Unscored —

    `jfrog_quotes` was removed from crates.io for malicious code

    `jfrog_quotes` was part of a campaign that attempted to exfiltrate environmental data from the host. The malicious crate had 1 version published in January 2025, and had no evidence of actual usage. This crate had no dependencies on crates.io.

  • Medium —

    fast-fault has a segmentation fault due to lack of bound check

    In this case, the "fast_float::common::AsciiStr::first" method within the "AsciiStr" struct uses the unsafe keyword to reading from memory without performing bounds checking. Specifically, it directly dereferences a pointer offset by "self.ptr". Because of th…

  • Medium —

    fast-float2 has a segmentation fault due to lack of bound check

    In this case, the "fast_float2::common::AsciiStr::first" method within the "AsciiStr" struct uses the unsafe keyword to reading from memory without performing bounds checking. Specifically, it directly dereferences a pointer offset by "self.ptr". Because of t…

  • Critical 9.3

    Critical vulnerability in `ismp-grandpa` <v15.0.1

    Hyperbridge is a hyper-scalable coprocessor for verifiable, cross-chain interoperability. A critical vulnerability was discovered in the ismp-grandpa crate, that allowed a malicious prover easily convince the verifier of the finality of arbitrary headers. Thi…

  • Medium 5.0
    CVE-2025-22620 Public exploit

    gix-worktree-state nonexclusive checkout sets executable files world-writable

    gitoxide is an implementation of git written in Rust. Prior to 0.17.0, gix-worktree-state specifies 0777 permissions when checking out executable files, intending that the umask will restrict them appropriately. But one of the strategies it uses to set permis…

  • High —

    SP1 has missing verifier checks and fiat-shamir observations

    In SP1’s STARK verifier, the prover provided `chip_ordering` is used to fetch the index of the chips that have preprocessed columns. Prior to v4.0.0, the validation that this `chip_ordering` correctly provides these indexes was missing. In v4.0.0, this was fi…

  • Unscored —

    libsecp256k1 is unmaintained

    The maintainers recommend using [k256](https://crates.io/crates/k256) instead.

  • Unscored —

    registry is unmaintained

    The author has archived the GitHub repository and mentions deprecation in project's [README](https://github.com/bbqsrc/registry-rs/blob/41dc296c786e5943d3238535e45e1df60b258050/README.md). ## Possible alternatives * [windows-registry](https://crates.io/crates…

  • Critical 9.8

    Vaultwarden vulnerable to user impersonation

    An issue in the component src/api/identity.rs of Vaultwarden prior to v1.32.5 allows attackers to impersonate users, including Administrators, via a crafted authorization request.

  • Critical 9.6

    Vaultwarden HTML injection vulnerability

    An HTML injection vulnerability in Vaultwarden prior to v1.32.5 allows attackers to execute arbitrary code via injecting a crafted payload into the username field of an e-mail message.

  • Medium 5.4

    Vaultwarden authenticated reflected cross-site scripting (XSS) vulnerability

    Vaultwarden v1.32.5 was discovered to contain an authenticated reflected cross-site scripting (XSS) vulnerability via the component /api/core/mod.rs.

  • Medium 4.3

    matrix-sdk-crypto missing facility to signal rotation of a verified cryptographic identity

    matrix-rust-sdk is an implementation of a Matrix client-server library in Rust. Versions of the matrix-sdk-crypto Rust crate before 0.8.0 lack a dedicated mechanism to notify that a user's cryptographic identity has changed from a verified to an unverified on…

  • High 7.5

    Deno's authorization headers not dropped when redirecting cross-origin

    Deno is a JavaScript, TypeScript, and WebAssembly runtime with secure defaults. When you send a request with the Authorization header to one domain, and the response asks to redirect to a different domain, Deno'sfetch() redirect handling creates a follow-up r…

  • Low —

    magic-crypt uses insecure cryptographic algorithms

    This crate uses a number of cryptographic algorithms that are no longer considered secure and it uses them in ways that do not guarantee the integrity of the encrypted data. `MagicCrypt64` uses the insecure DES block cipher in CBC mode without authentication.…

  • Low —

    xous has unsound usages of `core::slice::from_raw_parts`

    We consider `as_slice` and `as_slice_mut` unsound because: the pointer with any bit patterns could be cast to the slice of arbitrary types. The pointer could be created by unsafe new and deprecated `from_parts`. We consider that `from_parts` should be removed…

  • Medium 5.3

    TunnelVision - decloaking VPNs using DHCP

    A new decloaking technique for nearly all VPN implementations has been found, which allows attackers to inject entries into the routing tables of unsuspecting victims using DHCP option 121. This allows attackers to redirect traffic, which is supposed to be se…

  • Medium —

    Unsoundness in `Iterator` and `DoubleEndedIterator` impls for `glib::VariantStrIter`

    The `VariantStrIter::impl_get` function (called internally by implementations of the `Iterator` and `DoubleEndedIterator` traits for this type) was unsound, resulting in undefined behaviour. An immutable reference `&p` to a `*mut libc::c_char` pointer initial…

  • Medium —

    Unsound usages of `u8` type casting in spl-token-swap

    The library provides a safe public API `unpack` to cast `u8` array to arbitrary types, which can cause to undefined behaviors. The length check of array can only prevent out-of-bound access on the return type. However, it can't prevent misaligned pointer when…

  • Medium —

    libafl has unsound usages of `core::slice::from_raw_parts_mut`

    The library breaks the safety assumptions when using unsafe API `slice::from_raw_parts_mut`. The pointer passed to `from_raw_parts_mut` is misaligned by casting `u8` to `u16` raw pointer directly, which is unsound. The bug is patched by using `align_offset`, …

  • Medium —

    Undefined behaviour in `kvm_ioctls::ioctls::vm::VmFd::create_device`

    An issue was identified in the `VmFd::create_device function`, leading to undefined behavior and miscompilations on rustc 1.82.0 and newer due to the function's violation of Rust's pointer safety rules. The function downcasted a mutable reference to its `stru…

  • Medium —

    rage vulnerable to malicious plugin names, recipients, or identities causing arbitrary binary execution

    A plugin name containing a path separator may allow an attacker to execute an arbitrary binary. Such a plugin name can be provided to the `rage` CLI through an attacker-controlled recipient or identity string, or to the following `age` APIs when the `plugin` …

  • Medium —

    `Slip10Like` derivation method instantiated with certain curves may allow attacker to find derivation path which results into very long derivation (possible DoS)

    ### Impact <!-- _What kind of vulnerability is it? Who is impacted?_ --> **Impacted are the only ones who use [`hd_wallet::Slip10Like`](https://docs.rs/hd-wallet/0.5.1/hd_wallet/struct.Slip10Like.html) or [`slip_10`](https://docs.rs/slip-10/latest/slip_10/) d…

  • High —

    PQClean has a correctness error in HQC decapsulation

    ### Impact A correctness error has been identified in the reference implementation of the HQC key encapsulation mechanism. Due to an indexing error, part of the secret key is incorrectly treated as non-secret data. This results in an incorrect shared secret v…

  • Medium —

    CosmWasm VM Incorrect metering

    # CWA-2024-007 **Severity** Medium (Moderate + Likely)[^1] **Affected versions:** - wasmvm >= 2.1.0, < 2.1.3 - wasmvm >= 2.0.0, < 2.0.4 - wasmvm < 1.5.5 - cosmwasm-vm >= 2.1.0, < 2.1.4 - cosmwasm-vm >= 2.0.0, < 2.0.7 - cosmwasm-vm < 1.5.8 **Patched versions:*…

  • Medium —

    Panic in wasmvm can slow down block production

    # CWA-2024-008 **Severity** Medium (Moderate + Likely)[^1] **Affected versions:** - wasmvm >= 2.1.0, < 2.1.3 - wasmvm >= 2.0.0, < 2.0.4 - wasmvm < 1.5.5 - cosmwasm-vm >= 2.1.0, < 2.1.4 - cosmwasm-vm >= 2.0.0, < 2.0.7 - cosmwasm-vm < 1.5.8 **Patched versions:*…

  • Unscored —

    gtk-layer-shell-sys GTK3 bindings - no longer maintained

    The gtk-layer-shell-sys GTK3 bindings are no longer maintained. The maintainers have archived the repository, and added a note to the crate description and its README.md that the crates are no longer maintained. Please take a look at [gtk4-layer-shell](https:…

  • Unscored —

    gtk-layer-shell GTK3 bindings - no longer maintained

    The gtk-layer-shell GTK3 bindings are no longer maintained. The maintainers have archived the repository, and added a note to the crate description and its README.md that the crates are no longer maintained. Please take a look at [gtk4-layer-shell](https://gi…

  • Medium 5.3

    Rustls: rustls network-reachable panic in `acceptor::accept`

    A flaw was found in Rustls 0.23.13 and related APIs. This vulnerability allows denial of service (panic) via a fragmented TLS ClientHello message.

  • Medium —

    Build corruption when using `PYO3_CONFIG_FILE` environment variable

    In PyO3 0.23.0 the `PYO3_CONFIG_FILE` environment variable used to configure builds regressed such that changing the environment variable would no longer trigger PyO3 to reconfigure and recompile. In combination with workflows using tools such as `maturin` to…

  • Low —

    Unsound usages of `std::slice::from_raw_parts`

    The library breaks the safety assumptions when using unsafe API `std::slice::from_raw_parts`. First, when using the API in iterator implementation (`TempFdArrayIterator.next`), generic type could be any type, which would create and pass a misaligned pointer t…

  • High 7.5

    rPGP Panics on Malformed Untrusted Input

    rPGP is a pure Rust implementation of OpenPGP. Prior to 0.14.1, rPGP allows an attacker to trigger rpgp crashes by providing crafted data. This vulnerability is fixed in 0.14.1.

  • High 7.5

    rPGP Potential Resource Exhaustion when handling Untrusted Messages

    rPGP is a pure Rust implementation of OpenPGP. Prior to 0.14.1, rPGP allows attackers to trigger resource exhaustion vulnerabilities in rpgp by providing crafted messages. This affects general message parsing and decryption with symmetric keys.

  • Medium —

    op_panic in the base runtime can force a panic in the runtime's containing thread

    Affected versions use deno_core releases that expose `Deno.core.ops.op_panic` to the JS runtime in the base core This function when called triggers a manual panic in the thread containing the runtime. It can be fixed by stubbing out the exposed op: ```javascr…