Skip to content
OpenAdvisories

Ecosystem

crates.io

2,067 known vulnerabilities.

611 results · Clear filters · Feed

  • Medium —

    bottlerocket dependency openssl has a double free vulnerability

    A timing based side channel exists in the OpenSSL RSA decryption implementation which could enable a recovery of plaintext from across the network. This affects all RSA padding modes. A server agent compiled with OpenSSL could be made to give up plaintext pay…

  • Medium —

    bottlerocket dependency openssl has a double free vulnerability

    A double-free vulnerability exists in OpenSSL where it is possible to construct a malicious PEM file that has 0 bytes of payload data. This then points to data that has already been freed in memory which, when freed again, leads to a crash. Agents or clients …

  • Medium —

    bottlerocket dependency openssl is vulnerable to read buffer overflow via X.509 verification

    A read buffer overflow can be triggered in OpenSSL X.509 verification during name constraint checking. Note that this occurs after the certificate chain has been verified and would require a compromised CA. This can cause a client or agent compiled with OpenS…

  • Medium 6.0

    `pnet_packet` buffer overrun in `set_payload` setters

    As indicated by this [issue](https://github.com/libpnet/libpnet/issues/449#issuecomment-663355987), a buffer overrun is possible in the `set_payload` setter of the various mutable "Packet" struct setters. The offending `set_payload` functions were defined wit…

  • Medium —

    bottlerocket dependency openssl provides streaming of ASN.1 data via a BIO

    An OpenSSL public API provides streaming of ASN.1 data via a BIO. It is possible for a malicious third party to use the BIO to access unfreed memory pointers that are not cleaned up after execution of the API. Freeing these memory pointers will result in a cr…

  • Medium 5.9
    CVE-2022-4304 Public exploit EPSS 24%

    Timing Oracle in RSA Decryption

    A timing based side channel exists in the OpenSSL RSA Decryption implementation which could be sufficient to recover a plaintext across a network in a Bleichenbacher style attack. To achieve a successful decryption an attacker would have to be able to send a …

  • Medium 5.3

    libgit2 fails to verify SSH keys by default

    libgit2 is a cross-platform, linkable library implementation of Git. When using an SSH remote with the optional libssh2 backend, libgit2 does not perform certificate checking by default. Prior versions of libgit2 require the caller to set the `certificate_che…

  • Medium —

    ELF header parsing library doesn't check for valid offset

    The crate has several unsafe sections that don't perform proper pointer validation. An example can be found in the following function: ``` fn section_header_raw(&self) -> &[ET::SectionHeader] { let sh_off = self.elf_header().section_header_offset() as usize; …

  • Medium —

    bumpalo has use-after-free due to a lifetime error in `Vec::into_iter()`

    In affected versions of this crate, the lifetime of the iterator produced by `Vec::into_iter()` is not constrained to the lifetime of the `Bump` that allocated the vector's memory. Using the iterator after the `Bump` is dropped causes use-after-free accesses.…

  • Medium 5.3

    Cargo did not verify SSH host keys

    Cargo is a Rust package manager. The Rust Security Response WG was notified that Cargo did not perform SSH host key verification when cloning indexes and dependencies via SSH. An attacker could exploit this to perform man-in-the-middle (MITM) attacks. This vu…

  • Medium 5.4

    Tokio's reject_remote_clients configuration may get dropped when creating a Windows named pipe

    Tokio is a runtime for writing applications with Rust. Starting with version 1.7.0 and prior to versions 1.18.4, 1.20.3, and 1.23.1, when configuring a Windows named pipe server, setting `pipe_mode` will reset `reject_remote_clients` to `false`. If the applic…

  • Medium —

    prettytable-rs: Force cast a &Vec<T> to &[T] may lead to undefined behavior

    In function `Table::as_ref`, a reference of vector is force cast to slice. There are multiple problems here: 1. To guarantee the size is correct, we have to first do `Vec::shrink_to_fit`. The function requires a mutable reference, so we have to force cast fro…

  • Medium —

    hyper-staticfile's location header incorporates user input, allowing open redirect

    When `hyper-staticfile` performs a redirect for a directory request (e.g. a request for `/dir` that redirects to `/dir/`), the `Location` header value was derived from user input (the request path), simply appending a slash. The intent was to perform an origi…

  • Medium 6.8

    Tauri vulnerable to path traversal

    Tauri is a framework for building binaries for all major desktop platforms. The filesystem glob pattern wildcards `*`, `?`, and `[...]` match file path literals and leading dots by default, which unintentionally exposes sub folder content of allowed paths. Sc…

  • Medium 5.4

    Light client verification not taking into account chain ID

    Tendermint is a high-performance blockchain consensus engine for Byzantine fault tolerant applications. Versions prior to 0.28.0 contain a potential attack via Improper Verification of Cryptographic Signature, affecting anyone using the tendermint-light-clien…

  • Medium 4.0

    rust-vmm linux-loader vulnerable to Out-of-bounds Read

    In versions prior to 0.8.1, the linux-loader crate uses the offsets and sizes provided in the ELF headers to determine the offsets to read from. If those offsets point beyond the end of the file this could lead to Virtual Machine Monitors using the `linux-loa…

  • Medium —

    Candy Machine Set Collection During Mint Missing Check

    A problem with Candy Machine V2 allow minting NFTs to an arbitrary collection due to a missing check. Here is a description of the exploit: Details: Here is the tx/ix to exploit: Transaction: Ix 1: candy_machine v2, mint_nft, passing in empty metadata -1 Ix 2…

  • Medium —

    Unsound API in `secp256k1` allows use-after-free and invalid deallocation from safe code

    Because of incorrect bounds on method `Secp256k1::preallocated_gen_new` it was possible to cause use-after-free from safe consumer code. It was also possible to "free" memory not allocated by the appropriate allocator. The method takes a place for storing the…

  • Medium —

    hyper-staticfile's improper validation of Windows paths could lead to directory traversal attack

    Path resolution in `hyper-staticfile` didn't correctly validate Windows paths, meaning paths like `/foo/bar/c:/windows/web/screen/img101.png` would be allowed and respond with the contents of `c:/windows/web/screen/img101.png`. Thus users could potentially re…

  • Medium 5.4

    Cap'n Proto vulnerable to out-of-bounds read due to logic error handling list-of-list.

    Cap'n Proto is a data interchange format and remote procedure call (RPC) system. Cap'n Proro prior to versions 0.7.1, 0.8.1, 0.9.2, and 0.10.3, as well as versions of Cap'n Proto's Rust implementation prior to 0.13.7, 0.14.11, and 0.15.2 are vulnerable to out…

  • Medium 5.6

    Exposure of sensitive information in aliyun-oss-client

    aliyun-oss-client is a rust client for Alibaba Cloud OSS. Users of this library will be affected, the incoming secret will be disclosed unintentionally. This issue has been patched in version 0.8.1.

  • Medium 5.9

    Wasmtime vulnerable to out of bounds read/write with zero-memory-pages configuration

    Wasmtime is a standalone runtime for WebAssembly. Prior to version 2.0.2, there is a bug in Wasmtime's implementation of its pooling instance allocator when the allocator is configured to give WebAssembly instances a maximum of zero pages of memory. In this c…

  • Medium —

    Invalid use of `mem::uninitialized` causes `use-of-uninitialized-value`

    The compression and decompression function used `mem:uninitialized` to create an array of uninitialized values, to later write values into it. This later leads to reads from uninitialized memory. The flaw was corrected in commit b633bf265e41c60dfce3be7eac4e4d…

  • Medium —

    ckb: Large dep group requires a lot of resources to process but the cost to commit the transaction is very low.

    ### Impact When a transaction contains a dep group with many cells, the resources required to process it are not linear to the transaction size nor spent script cycles. ### Patches In 0.43.3, nodes drop the transactions relayed to them when they contain a dep…

  • Medium —

    matrix-sdk 0.6.0 logs access tokens

    When sending Matrix requests using an affected version of `matrix-sdk` in an application that writes logs using `tracing-subscriber` (in a way that includes fields of tracing spans such as `tracing_subscriber`s default text output from the `fmt` module), thes…

  • Medium 5.9

    evm has incorrect is_static parameter for custom stateful precompiles

    SputnikVM, also called evm, is a Rust implementation of Ethereum Virtual Machine. A custom stateful precompile can use the `is_static` parameter to determine if the call is executed in a static context (via `STATICCALL`), and thus decide if stateful operation…

  • Medium 5.3

    Incorrect Calculation in Frontier leads to inflated Ethereum chain gas prices

    Frontier is an Ethereum compatibility layer for Substrate. Prior to commit d3beddc6911a559a3ecc9b3f08e153dbe37a8658, the worst case weight was always accounted as the block weight for all cases. In case of large EVM gas refunds, this can lead to block spammin…

  • Medium —

    `cell-project` used incorrect variance when projecting through `&Cell<T>`

    ## Overview The issue lies in the implementation of the `cell_project` macro which used `field as *const _` instead of `field as *mut _`. The problem being that `*const T` is covariant in `T` while `*mut T` is invariant in `T`. Keep in mind that `&Cell<T>` is…

  • Medium 4.8

    Extracting malicious crates can fill the file system

    Cargo is a package manager for the rust programming language. It was discovered that Cargo did not limit the amount of data extracted from compressed archives. An attacker could upload to an alternate registry a specially crafted package that extracts way mor…

  • Medium 4.6

    Extracting malicious crates can corrupt arbitrary files

    Cargo is a package manager for the rust programming language. After a package is downloaded, Cargo extracts its source code in the ~/.cargo folder on disk, making it available to the Rust projects it builds. To record when an extraction is successful, Cargo w…

  • Medium —

    iana-time-zone vulnerable to use after free in MacOS / iOS implementation

    In iana-time-zone v0.1.43 a use-after-free bug in the MacOS / iOS implementation was introduced. The copied system time zone was released before its name was copied. If the system time zone was changed between the call of `CFRelease` and `str::to_owned()`, ra…

  • Medium —

    mz-avro's incorrect use of `set_len` allows for un-initialized memory

    Affected versions of this crate passes an uninitialized buffer to a user-provided `Read` implementation. Arbitrary `Read` implementations can read from the uninitialized buffer (memory exposure) and also can return incorrect number of bytes written to the buf…

  • Medium 5.5

    coreos-installer < 0.10.0 writes world-readable Ignition config to installed system

    A flaw was found in the coreos-installer, where it writes the Ignition config to the target system with world-readable access permissions. This flaw allows a local attacker to have read access to potentially sensitive data. The highest threat from this vulner…

  • Medium —

    oqs's Post-Quantum Key Encapsulation Mechanism SIKE broken

    Wouter Castryck and Thomas Decru presented an efficient key recovery attack on the SIDH protocol. As a result, the secret key of SIKEp751 can be recovered in a matter of hours. The SIKE and SIDH schemes will be removed from oqs 0.7.2. [An efficient key recove…

  • Medium —

    rocksdb vulnerable to out-of-bounds read

    Affected versions of this crate called the RocksDB C API `rocksdb_open_column_families_with_ttl()` with a pointer to a single integer TTL value, but one TTL value for each column family is expected. This is only relevant when using `rocksdb::DBWithThreadMode:…

  • Medium —

    `temporary` makes use of uninitialized memory

    Uninitialized memory is used as a RNG seed in temporary. This has been resolved in the 0.6.4 release. The crate is not intended to be used outside of a testing environment. For a general purpose crate to create temporary directories, [`tempfile`](https://crat…

  • Medium —

    owning_ref vulnerable to multiple soundness issues

    - `OwningRef::map_with_owner` is [unsound](https://github.com/Kimundi/owning-ref-rs/issues/77) and may result in a use-after-free. - `OwningRef::map` is [unsound](https://github.com/Kimundi/owning-ref-rs/issues/71) and may result in a use-after-free. - `Ownin…

  • Medium 5.5

    WASM3 segmentation fault

    WASM3 v0.5.0 was discovered to contain a segmentation fault via the component Compile_Memory_CopyFill.

  • Medium 6.4

    Use After Free in Wasmtime

    Wasmtime is a standalone runtime for WebAssembly. There is a bug in the Wasmtime's code generator, Cranelift, where functions using reference types may be incorrectly missing metadata required for runtime garbage collection. This means that if a GC happens at…

  • Medium 4.8

    Miscompilation of `i8x16.swizzle` and `select` with v128 inputs in Wasmtime

    Wasmtime is a standalone runtime for WebAssembly. In affected versions wasmtime's implementation of the SIMD proposal for WebAssembly on x86_64 contained two distinct bugs in the instruction lowerings implemented in Cranelift. The aarch64 implementation of th…