Skip to content
OpenAdvisories

Ecosystem

crates.io

2,036 known vulnerabilities.

557 results · Clear filters · Feed

  • High 7.5

    Hickory DNS hickory-proto 0.3.1 before 0.26.1 CPU Exhaustion via BinEncoder Name Compression

    Hickory DNS hickory-proto from 0.3.1 before 0.26.1 contains a denial of service vulnerability in BinEncoder that allows remote attackers to exhaust CPU through quadratic-time name compression. Attackers can send malicious DNS messages with many records that a…

  • High 7.5

    Hickory DNS NSEC3 Closest-Encloser Proof Unbounded Loop Denial of Service

    Hickory DNS hickory-proto 0.25.0-alpha.3 through 0.25.2 and hickory-net before 0.26.1 contain an unbounded loop vulnerability in DnssecDnsHandle NSEC3 closest-encloser proof validation when the SOA owner is not an ancestor of the QNAME. Upstream attackers can…

  • High 7.5

    Hickory DNS 0.26.0-beta.1 before 0.26.2 Resource Exhaustion DoS via NameServerPool::try_send TC-Retry Loop

    Hickory DNS hickory-resolver 0.26.0-beta.1 before 0.26.2 contains an unbounded retry loop in NameServerPool::try_send, which re-queues truncated (TC) responses without checking the answering transport or counting iterations. A malicious authoritative server r…

  • High 7.5

    Hickory DNS 0.24.0 before 0.26.2 Denial of Service via Zone File Parser

    The zone file parser in the hickory-proto crate of Hickory DNS 0.24.0 before 0.26.2 panics when a single token in a zone file is 4096 bytes or longer. Attackers who can supply untrusted zone files to an application using the parser can trigger the panic to ca…

  • High 7.8

    SurrealDB before 3.3.0 Use-After-Free via affinitypool spawn_local in KV Backends

    SurrealDB before 3.3.0 contains a use-after-free vulnerability in surrealdb-core KV backends that pass borrowed transaction state into affinitypool::spawn_local closures relying on future Drop for safety. Rust embedders that leak a dispatched future (e.g. via…

  • High 7.9

    Out-of-bounds read when decoding internal keys shorter than 16 bytes

    `InternalKeyRef::from_encoded` is a safe constructor whose only length check is `debug_assert!(encoded.len() >= 16)`, which is compiled out in release builds. Its accessors perform unchecked length arithmetic on the slice: `user_key()` slices `&encoded[..len …

  • High 7.8

    Data race and double free via unsound `Send`/`Sync` in `reblessive`

    `dbs::Executor` drives every SurrealQL statement through `reblessive::tree::TreeStack`. In `reblessive 0.4.3` the runtime types unconditionally assert `Send`/`Sync` (`unsafe impl Send/Sync for Stack`, `TreeStack` and `Runner`), while the public entry points a…

  • High 8.2

    `ant-releases`: extracting a release archive can write files outside the destination directory (path traversal / zip-slip)

    `ant-releases` downloads and unpacks release archives from the `safe_network` / `autonomi` repositories. When it extracts an archive, it builds each output path by joining the archive entry's **own name** onto the destination directory, with no check for `..`…

  • High 7.1

    `ocipkg`: unpacking an OCI archive can write and delete files outside the local image store (path traversal)

    When `ocipkg` unpacks an OCI archive, the destination directory is derived from the image name, which `ocipkg` reads from the archive's **own** `index.json` (`org.opencontainers.image.ref.name`). That name is attacker-controlled, and `ImageName::parse` accept…

  • High 7.5

    `nix-nar`: `Decoder::unpack` writes archive entries outside the destination directory (path traversal)

    `Decoder::unpack` does not safely contain the paths it extracts, so a malicious NAR archive can create files **outside** the destination directory — a path traversal (CWE-22). In `src/dec.rs` (`Decoder::unpack`): - A symlink entry's target is written without …

  • High 8.8

    `sn-releases`: `extract_release_archive` writes archive entries without a path-traversal check (zip-slip)

    `SafeReleaseRepoActions::extract_release_archive` builds each output path from the **raw archive entry name** and writes to it with no traversal check, so a malicious release archive can create directories and write files **outside** the destination directory…

  • High 7.5

    Unbounded memory use on large request bodies

    The `make_graphql_filter()` and `make_graphql_filter_sync()` filters of `juniper_warp` read the whole body of a POST request into memory before they parsed the body. The filters had no limit on the size of the body. A client could thus send a large body and e…

  • High 7.9

    Wasmtime before 36.0.18, 37.0.0 before 48.0.6, and 49.0.0 before 49.0.3 Sandbox Escape via Symlink Rename

    wasmtime-wasi in Wasmtime before 36.0.18, 37.0.0 before 48.0.6, and 49.0.0 before 49.0.3 re-appends a trailing slash to rename source paths, causing renameat on macOS and FreeBSD hosts to follow directory symlinks. A guest with sandbox write access can rename…

  • High 8.3

    russh: Agent server never calls `Agent::confirm`, so keys added with the confirm constraint (`ssh-add -c`) sign without confirmation

    russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.50.0-beta.12 until 0.65.0, the agent server's Connection::try_sign path in russh/src/keys/agent/server.rs recognizes SSH_AGENT_CONSTRAIN_CONFIRM but retur…

  • High 7.5

    Panic and unbounded allocation (OOM) in the CFB/OLE2 parser on malformed input

    The Compound File Binary (OLE2) parser (`src/cfb.rs`), used when reading `.xls` and `.xlsb` workbooks and when extracting VBA projects from `.xlsx`, can panic or allocate without bound on crafted input. Both are reachable through the public reader API (`open_…

  • High 7.5

    Quadratic parsing of nested image wikilinks with `ENABLE_WIKILINKS`

    With `Options::ENABLE_WIKILINKS`, handle_wikilink builds a wikilink's target from the raw text of its body: scan_wikilink_pipe walks it looking for |, then contains('\0') and from_replace_nuls walk it again. Once a wikilink is created, disable_all_links only …

  • High 7.5

    Excessive CPU and memory use on crafted GraphQL documents

    Several parts of `juniper` did work that grew faster than the size of the GraphQL document. A small document could thus use seconds of CPU time or gigabytes of memory. The requests need no authentication. - `OverlappingFieldsCanBeMerged` compared all pairs of…

  • High 7.5

    Stack overflow on deeply nested GraphQL documents

    The parser of `juniper` called itself once for each level of nesting in a GraphQL document. The parser had no limit on the nesting depth. Deeply nested selection sets, input values, and list types thus overflowed the stack of the thread that parsed the docume…

  • High 7.5

    Unbounded memory use on large request bodies

    The `graphql()` and `graphql_sync()` functions of `juniper_hyper` read the whole body of a POST request into memory before they parsed the body. The functions had no limit on the size of the body. A client could thus send a large body and exhaust the memory o…

  • High 7.5

    zip: Unbounded Symlink-Target Handling Can Abort Or Exhaust Memory During Extraction

    zip is a zip library for Rust that supports reading and writing simple ZIP files. From 1.3.0 until 9.0.0, ZipArchive::extract in src/read/mod.rs calls Vec::with_capacity for a symbolic link target using the attacker-controlled ZIP64 uncompressed_size before r…

  • High 7.4

    zip: Arbitrary file write outside the extraction directory, because ZipArchive::extract validates symlink targets lexically. (The defense against CVE-2025-29787 was broken in v7.2.0)

    zip is a zip library for Rust that supports reading and writing simple ZIP files. From 7.2.0 until 9.0.0, ZipArchive::extract and ZipArchive::extract_unwrapped_root_dir use safe_prepare_path in src/read/zipfile.rs and simplified_components in src/path.rs to v…

  • High 7.5

    zip: legacy Shrink/Reduce/Implode decoder: denial of service from attacker-controlled ZIP64 uncompressed size

    zip is a zip library for Rust that supports reading and writing simple ZIP files. From 5.1.0 until 9.0.0, applications built with the legacy-zip feature can reserve output capacity from an attacker-controlled ZIP64 uncompressed size before validating the comp…

  • High 7.8

    Arbitrary code execution when rerunning tests from a portable recording

    ## Summary Nextest versions between 0.9.125 and 0.9.149 (inclusive) allow the `cargo nextest run --rerun` (or `-R`) command with a malicious [portable recording](https://nexte.st/docs/features/record-replay-rerun/portable-recordings/) to run arbitrary code du…

  • High 7.3

    gitoxide gix: untrusted .git/config disables filesystem .git-protection path checks via unfiltered protect_options()

    ## Summary In the `gix` crate, `Cache::protect_options()` in `gix/src/config/cache/access.rs` reads the three filesystem path-protection settings (`core.protectHFS`, `core.protectNTFS`, and `gitoxide.core.protectWindows`) with the unfiltered `gix_config::File…

  • High 7.9

    Wasmtime before 24.0.13, 25.0.0 before 36.0.14, 37.0.0 before 46.0.3, and 47.0.0 before 47.0.4 Sandbox Escape via Trailing Slashes

    Wasmtime before 24.0.13, 25.0.0 before 36.0.14, 37.0.0 before 46.0.3, and 47.0.0 before 47.0.4 allows a filesystem sandbox escape in wasmtime-wasi because its cap-std dependency mishandles symlinks with trailing slashes on macOS and Linux kernels lacking open…

  • High 7.5

    SSRF and local file disclosure via unvalidated URLs

    Applications that pass attacker-controlled URLs to `webpage` versions before 2.1.0 may be vulnerable to server-side request forgery (SSRF) or local file disclosure. `HTTP::fetch` and `Webpage::from_url` passed URLs to libcurl without restricting the URL schem…

  • High 8.8

    uv before 0.11.15 Arbitrary File Write via Entry Point Names

    uv before 0.11.15 contains a path traversal vulnerability that allows malicious wheels to write files outside the scripts directory via crafted console_scripts or gui_scripts entry point names. Attackers who induce users to install a malicious wheel can place…

  • High 7.5

    Unbounded tool schema cache in Streamable HTTP server transport

    From 3.0.0 until 3.6.0, `StreamableHttpService` cached the result of `ServerHandler::get_tool` in a process-wide map keyed by the tool name of incoming `tools/call` requests. The map had no size limit and no eviction, and it also cached unknown tool names. An…

  • High 8.7

    Pingora forwards client-nominated Connection headers to HTTP/1 upstreams, allowing ACL bypass in specific chained deployments

    Summary Before version 0.9.0, the HTTP/1 upstream path in pingora-proxy passed the downstream request through upstream_request_filter and wrote it to the upstream without removing the client's Connection header, other hop-by-hop headers, or the headers Connec…

  • High 7.5

    Pingora HTTP/2 server memory exhaustion through unbounded default header-list and concurrent-stream limits

    Summary Before version 0.8.1, Pingora's HTTP/2 server used the h2 crate's default limits unless the application set its own 16 MiB decoded header-list size and no limit on concurrent streams. A remote, unauthenticated client can send 1-byte HPACK references t…

  • High 7.5

    Exponential event growth with `ENABLE_WIKILINKS`

    When `Options::ENABLE_WIKILINKS` is enabled, a wikilink with a pipe separator and empty display text, such as `[[a|]]`, leaks its child node's sibling chain into the content that follows it. Each such link roughly doubles the number of events the parser yield…

  • High 7.5

    lopdf has a stack overflow via deeply nested PDF objects

    `lopdf::Document::load_mem` (and the other `load*` entry points) parses nested PDF arrays and dictionaries with unbounded recursion. A small crafted PDF whose Catalog contains a deeply nested array (`/X [[[ … ]]]`, on the order of 10,000 levels) exhausts the …

  • High 7.8

    mise permits untrusted local configuration to override default shell arguments

    mise manages dev tools like node, python, cmake, and terraform. Prior to 2026.7.14, in the default non-safe mode, mise loads .mise.toml [settings] from an untrusted local project before trust approval and strip_local_only_settings removes only fields marked g…

  • High 7.5

    Remote DoS through unchecked `IdList` allocation in negentropy

    ## Summary The `negentropy` crate is vulnerable to denial-of-service through an unchecked, peer-controlled ID count in reconciliation messages. With the `std` feature enabled, which is the default configuration, a small malformed message can trigger an enormo…

  • High 7.5

    Decompression bomb in `ruzstd`: a tiny input can exhaust memory (OOM)

    A crafted `.zst` input under 128 KB can force `ruzstd` to allocate several gigabytes at once, crashing the process with an out-of-memory condition. Since `ruzstd` is a decoder for untrusted input, a single small file is enough to take down anything decoding i…

  • High 7.3

    Insecure Preservation of SUID/SGID Bits during ZIP Extraction Leading to Potential Privilege Escalation

    The `zip` crate preserves privileged Unix permission bits (SUID, SGID, and sticky bits) from ZIP `external_attributes` during extraction, instead of masking them to safe permission bits. If a privileged process (for example, `root` in an installer, CI/CD pipe…

  • High 7.5

    Poly1305 panics or computes a wrong tag on attacker-chosen messages of 64 bytes or more

    `Poly1305` in `ic-cipher` absorbs messages of 64 bytes or more four blocks at a time, summing four products before one reduction. From 0.2.5 to 0.2.19 the reduction kept its carries in 32-bit integers, which four summed products can overflow when the message'…

  • High 7.5

    MIKEY message MAC is never verified on receive, so forged messages are accepted

    `mykey` implements MIKEY (RFC 3830) for SRTP key exchange. No receive path verified the MIKEY message authentication code. `crypto::verify_mac` existed and was correct, but it was called only from unit tests — neither `MikeyMessage::from_bytes` nor `MikeyMess…

  • High —

    hickory-resolver: Unbounded TC-retry loop in `NameServerPool::try_send` (resource-exhaustion DoS)

    When the `hickory-resolver` name server pool implementation receives an upstream response with the TC (truncated) header bit set, it re-queues the request to the same nameserver to retry with UDP transport disabled. However, the retry arm never inspects the t…

  • High 7.5

    Praxis affected by HTTP/2 Bomb

    ### Summary Multiple denial-of-service vulnerabilities have been discovered in HTTP/2 server implementations. All have been rated with a severity impact of [Important](https://access.redhat.com/security/updates/classification). The vulnerabilities target HPAC…