Skip to content
OpenAdvisories

Ecosystem

crates.io

2,075 known vulnerabilities.

2,074 results · Feed

  • 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, breaking sandboxing It can be fixed by stubbing out the ex…

  • Medium —

    Unsoundness in anstream

    When given a valid UTF8 string "ö\x1b😀", the function in crates/anstream/src/adapter/strip.rs will be confused. The UTF8 bytes are \xc3\xb6 then \x1b then \xf0\x9f\x98\x80. When looping over "non-printable bytes" \x1b\xf0 will be considered as some non-printa…

  • High —

    Borsh serialization of HashMap is non-canonical

    The borsh serialization of the HashMap did not follow the borsh specification. It potentially produced non-canonical encodings dependent on insertion order. It also did not perform canonicty checks on decoding. This can result in consensus splits and cause eq…

  • Low —

    linkme fails to ensure slice elements match the slice's declared type

    Affected versions allow populating a DistributedSlice of T with elements of an arbitrary other type that coerces to T. For example, elements of type `&&str` could end up in a slice of type `[&str]`, since `&&str` coerces to `&str` via a deref coercion. The fl…

  • Medium —

    `ruzstd` uninit and out-of-bounds memory reads

    Affected versions of `ruzstd` miscalculate the length of the allocated and init section of its internal `RingBuffer`, leading to uninitialized or out-of-bounds reads in `copy_bytes_overshooting` of up to 15 bytes. This may result in up to 15 bytes of memory c…

  • High 7.8
    CVE-2023-1521 Public exploit

    Local Privilege Escalation in sccache

    On Linux the sccache client can execute arbitrary code with the privileges of a local sccache server, by preloading the code in a shared library passed to LD_PRELOAD. If the server is run as root (which is the default when installing the snap package https://…

  • Medium 5.4

    Improper neutralization of input during web page generation ("Cross-site Scripting") in deno_doc HTML generator

    Deno is a runtime for JavaScript and TypeScript written in rust. Several cross-site scripting vulnerabilities existed in the `deno_doc` crate which lead to Self-XSS with deno doc --html. 1.) XSS in generated `search_index.js`, `deno_doc` outputs a JavaScript …

  • Unscored —

    `parse_arguments` reads a caller-supplied pointer as a slice

    `parse_arguments` is safe. It takes `arguments: *const AnyObject` and `argc`, and calls `slice::from_raw_parts(arguments, argc as usize)`. It does not check that `arguments` is non-null and aligned, or that `argc` elements are initialized. Safe Rust can pass …

  • Medium —

    Sharks has a Bias of Polynomial Coefficients in Secret Sharing

    Affected versions of this crate allowed for a bias when generating random polynomials for Shamir Secret Sharing, where instead of being within the range `[0, 255]` they were instead in the range `[1, 255]`. A description from Cure53, who originally found the …

  • Medium 5.3

    zlib-rs stack overflow during decompression with malicious input

    A denial of service vulnerability was found in zlib-rs, triggered by specially constructed input. This input causes a stack overflow, resulting in the process using zlib-rs to crash. ### Impact Due to the way LLVM handles the zlib-rs codebase, tail calls were…

  • Low —

    s2n-tls has undefined behavior at process exit

    ### Impact s2n-tls uses the Linux atexit function to register functions that clean up the global state when the process exits. In multi-threaded environments, the atexit handler may clean up state which is still in use by other threads. When this occurs, the …

  • Medium —

    Mimalloc Can Allocate Memory with Bad Alignment

    This crate depended on a promise regarding alignments made by the author of the mimalloc allocator to avoid using aligned allocation functions where possible for performance reasons. Since then, the mimalloc allocator's logic changed, making it break this pro…

  • Low —

    paillier-zk has ambiguous challenge derivation

    Challenge derivation in non-interactive ZK proofs was ambiguous and that could lead to security vulnerability (however, it's unknown if it could be exploited).

  • Low —

    cggmp21 vulnerable to ambiguous challenge derivation

    Challenge derivation in non-interactive ZK proofs was ambiguous and that could lead to security vulnerability (however, it's unknown if it could be exploited).

  • Medium —

    `simd-json-derive` vulnerable to `MaybeUninit` misuse

    An invalid use of `MaybeUninit::uninit().assume_init()` in `simd-json-derive`'s derive macro can cause undefined behavior. The original code used `MaybeUninit` to avoid initialisation of the struct and then set the fields using `ptr::write`. The undefined beh…

  • Low —

    cggmp21-keygen has ambiguous challenge derivation

    Challenge derivation in non-interactive ZK proofs was ambiguous and that could lead to security vulnerability (however, it's unknown if it could be exploited).

  • Low —

    `fast-float` has multiple soundness issues

    `fast-float` contains multiple soundness issues: 1. [Undefined behavior when checking input length](https://github.com/aldanor/fast-float-rust/issues/28), which has been merged but no package [pubished](https://github.com/aldanor/fast-float-rust/issues/35). 1…

  • Low —

    sp1 has insufficient observation of cumulative sum

    During proof generation, the prover must observe all values sent to the verifier to generate valid Fiat-Shamir challenges. Prior to v3.0.0 the cumulative sum of the permutation argument was not observed when sampling zeta, which is a random challenge sampled …

  • High 8.4

    wasm3 uncontrolled memory allocation vulnerability

    wasm3 139076a contains memory leaks in Read_utf8.

  • Critical 9.3

    Path traversal via crafted Git repositories in jj

    jj, or Jujutsu, is a Git-compatible VCS written in rust. In affected versions specially crafted Git repositories can cause `jj` to write files outside the clone. This issue has been addressed in version 0.23.0. Users are advised to upgrade. Users unable to up…

  • Low 2.3

    cap-std doesn't fully sandbox all the Windows device filenames

    The cap-std project is organized around the eponymous `cap-std` crate, and develops libraries to make it easy to write capability-based code. cap-std's filesystem sandbox implementation on Windows blocks access to special device filenames such as "COM1", "COM…

  • Low 2.3

    Wasmtime doesn't fully sandbox all the Windows device filenames

    Wasmtime is a fast and secure runtime for WebAssembly. Wasmtime's filesystem sandbox implementation on Windows blocks access to special device filenames such as "COM1", "COM2", "LPT0", "LPT1", and so on, however it did not block access to the special device f…

  • Medium 5.1

    Panic Vulnerability in loona-hpack

    loona is an experimental, HTTP/1.1 and HTTP/2 implementation in Rust on top of io-uring. `loona-hpack` suffers from the same vulnerability as the original `hpack` as documented in issue #11. All users who try to decode untrusted input using the Decoder are vu…

  • Medium 5.3

    sp1-recursion-gnark-ffi has insufficient range checks of BabyBear arithmetic

    The Gnark recursion circuit constrains arithmetic over BabyBear when the native field of the ZKP circuit is the BN254 scalar field. Proper implementation of this logic requires range checking Bn254 values to be less than the BabyBear modulus. In versions < 1.…

  • Unscored —

    Replaced by `pqcrypto-mlkem`

    This crate has been replaced by `pqcrypto-mlkem`, which provides a FIPS203-compatible implementation of ML-KEM.

  • Unscored —

    Replaced by `pqcrypto-mldsa`

    This crate has been replaced by `pqcrypto-mldsa`, which provides a FIPS204-compatible implementation of ML-DSA.

  • Medium 5.3

    Pyo3: risk of use-after-free in `borrowed` reads from python weak references

    A flaw was found in PyO3. This vulnerability causes a use-after-free issue, potentially leading to memory corruption or crashes via unsound borrowing from weak Python references.

  • Low 2.9

    Wasmtime race condition could lead to WebAssembly control-flow integrity and type safety violations

    Wasmtime is an open source runtime for WebAssembly. Under certain concurrent event orderings, a `wasmtime::Engine`'s internal type registry was susceptible to double-unregistration bugs due to a race condition, leading to panics and potentially type registry …

  • Medium 5.5

    Wasmtime runtime crash when combining tail calls with trapping imports

    Wasmtime is an open source runtime for WebAssembly. Wasmtime's implementation of WebAssembly tail calls combined with stack traces can result in a runtime crash in certain WebAssembly modules. The runtime crash may be undefined behavior if Wasmtime was compil…

  • Medium 5.5

    Databento Binary Encoding (DBN) has a heap buffer overflow using c_chars_to_str function

    The `heap-buffer-overflow` is triggered in the `strlen()` function when handling the `c_chars_to_str` function in the dbn crate. This vulnerability occurs because the `CStr::from_ptr()` function in Rust assumes that the provided C string is null-terminated. H…

  • Unscored —

    paste - no longer maintained

    The creator of the crate `paste` has stated in the [`README.md`](https://github.com/dtolnay/paste/blob/master/README.md) that this project is not longer maintained as well as archived the repository ## Possible Alternative(s) - [`pastey`]: a fork of paste and…

  • High 7.5

    async-graphql vulnerable to Directive Overload

    async-graphql is a GraphQL server library implemented in Rust. async-graphql before 7.0.10 does not limit the number of directives for a field. This can lead to Service Disruption, Resource Exhaustion, and User Experience Degradation. This vulnerability is fi…

  • Medium 4.5

    Sequential calls of encryption API (`encrypt`, `wrap`, and `dump`) result in nonce reuse

    Versions of the package cocoon before 0.4.0 are vulnerable to Reusing a Nonce, Key Pair in Encryption when the encrypt, wrap, and dump functions are sequentially called. An attacker can generate the same ciphertext by creating a new encrypted message with the…

  • Medium 6.9

    Remotely exploitable DoS in Tonic `<=v0.12.2`

    Tonic is a native gRPC client & server implementation with async/await support. When using tonic::transport::Server there is a remote DoS attack that can cause the server to exit cleanly on accepting a TCP/TLS stream. This can be triggered by causing the acce…

  • Unscored —

    `atty` is unmaintained

    The maintainer of `atty` has [published](https://github.com/softprops/atty/commit/5bfdbe9e48c6ca6a4909e8d5b04f5e843a257e93) an official notice that the crate is no longer under development, and that users should instead rely on the functionality in the standa…

  • Critical 9.1

    Heap-based Buffer Overflow in sqlite-vec

    sqlite-vec v0.1.1 was discovered to contain a heap buffer overflow via the npy_token_next function. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted file.

  • Medium —

    Ouch! allows a segmentation fault due to use of uninitialized memory

    When trying to decompress a file using "ouch", we can reach the function "ouch::archive::zip::convert_zip_date_time". In the function, there is a unsafe function, "transmute". Once the "transmute" function is called to convert the type of "month" object, the …

  • Low —

    lexical-core has multiple soundness issues

    `RUSTSEC-2024-0377` contains multiple soundness issues: 1. [Bytes::read() allows creating instances of types with invalid bit patterns](https://github.com/Alexhuszagh/rust-lexical/issues/102) 1. [BytesIter::read() advances iterators out of bounds](https://git…

  • Unscored —

    get-size-derive is unmaintained

    get-size-derive's maintainer seems to be unreachable, with no commits and releases pushed for 1 year and no activity on the GitHub repo. get-size-derive also depends on `attribute-derive ^0.6` a version of the crate which uses the yanked crate `proc-macro-err…

  • Unscored —

    get-size is unmaintained

    get-size's maintainer seems to be unreachable, with no commits and releases pushed for 1 year and no activity on the GitHub repo. get-size also depends on `get-size-derive 0.1.3`, which uses `attribute-derive ^0.6` a version of the crate which uses the yanked…