Skip to content
OpenAdvisories

Ecosystem

crates.io

2,067 known vulnerabilities.

570 results · Clear filters · Feed

  • 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 8.7

    libp2p-rust: Gossipsub GRAFT topics unbounded growth

    libp2p-rust is the official Rust language implementation of the libp2p networking stack. Prior to 0.49.5, Gossipsub GRAFT control-message handling unconditionally adds attacker-supplied topic hashes to connected_peer.topics without confirming that the peer pr…

  • 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…

  • High 7.4

    Zebra before 4.4.0 Consensus Split via SIGHASH_SINGLE Missing-Output Handling

    Zebra before 4.4.0 contains a consensus divergence vulnerability in V5 transparent signature verification, computing a ZIP-244 digest for SIGHASH_SINGLE inputs lacking corresponding outputs instead of failing. Attackers can craft V5 transactions with fewer ou…

  • High 7.4

    Zebra 4.4.0 Consensus Divergence via V5 SIGHASH_SINGLE Without Output

    Zebra zebrad 4.4.0 and zebra-script 6.0.0 fail to enforce a ZIP-244 consensus rule, accepting V5 transparent inputs signed with SIGHASH_SINGLE that lack a corresponding output. Attackers can broadcast crafted V5 transactions with more inputs than outputs that…

  • High 7.5

    russh: Client-side channel-scoped Handler callbacks fire for channel IDs the client never opened

    Russh is a Rust SSH client and server library. Prior to 0.63.1, client_read_authenticated in russh/src/client/encrypted.rs forwards CHANNEL_DATA, CHANNEL_EXTENDED_DATA, CHANNEL_EOF, CHANNEL_CLOSE, CHANNEL_OPEN_FAILURE, CHANNEL_SUCCESS, CHANNEL_FAILURE, and CH…

  • High 8.1

    DNS rebinding vulnerability in rojo serve HTTP API

    Rojo's "rojo serve" HTTP API (default port 34872) has no Host/Origin header validation, making it vulnerable to DNS rebinding. A malicious webpage can read all project source, write malicious code to files on disk, and launch local programs via opener::open()…

  • High 7.4

    Excluded iPAddress name constraints with an all-zero mask are not applied

    An `excluded_subtrees` iPAddress name constraint with an all-zero mask (`0.0.0.0/0` or `::/0`) does not restrict iPAddress SANs in certificates issued beneath it. The mask check treated an all-zero mask as matching nothing, when a `/0` prefix matches every ad…

  • High 7.8
    CVE-2026-96889 Public exploit

    Librsvg: use-after-free when xml includes have duplicated entities

    A flaw was found in librsvg. When processing an SVG document containing nested XML inclusions (Xincludes) with duplicate entity declarations, a use-after-free error can occur. This vulnerability arises because the library incorrectly frees an XML entity that …

  • High 7.1

    `uncbv`: archive extraction is vulnerable to path traversal (zip-slip)

    ### Summary `uncbv extract` writes each archive entry to `output_dir.join(entry_filename)` using the filename stored in the archive with no check for `..` components or absolute paths. A malicious `.cbv` / `.cbz` archive whose entry name contains `../` (or an…

  • High 7.1

    `decompress`: tar-family extractors write archive entries without a path-traversal check (tar-slip)

    The tar-family extractors in `decompress` (`.tar`, `.tar.gz`, `.tar.xz`, `.tar.bz2`, `.tar.zst`) build each output path from the **raw archive entry path** and write to it with no traversal check, so a malicious archive can write files **outside** the destina…

  • High 7.5

    hickory-resolver before 0.26.2 DNSSEC Validation Bypass

    hickory-resolver versions before 0.26.2 fail to propagate bogus DNSSEC proof states through the Resolver::lookup() and Resolver::lookup_ip() APIs, allowing invalid records to be returned as successful results. Attackers controlling the answering zone or posit…

  • High 7.5

    rustls-webpki before 0.103.13 Panic via empty BIT STRING

    rustls-webpki through 0.103.12 (and 0.104.0-alpha releases before 0.104.0-alpha.7) contains a reachable panic in bit_string_flags() in src/der.rs. The input guard fails to reject a named-bit BIT STRING whose content is exactly [0x00] (zero padding bits and no…

  • High 7.5

    Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service

    `fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that processes input supplied by many tenants. In versions prior to 0.19.0, a body-direct child whose CSS-resolved height greatly exceeds the page height was sliced into one fragment per page…

  • High 7.5

    Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service

    `fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that processes input supplied by many tenants. In versions prior to 0.19.0, a body-direct child whose CSS-resolved height greatly exceeds the page height was sliced into one fragment per page…

  • High 8.2

    RMCP: Missing Resource Field Validation in OAuth Protected Resource Metadata Discovery

    RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.0.0, the rmcp crate's OAuth implementation in crates/rmcp/src/transport/auth.rs omits the RFC 9728 resource field from ResourceServerMetadata and allows discover_oauth_server_via_resource…

  • High 7.5

    RMCP: Unauthenticated permanent session-table leak in rmcp Streamable HTTP server transport leads to remote denial-of-service

    RMCP is an official Rust SDK for the Model Context Protocol. Prior to 2.0.0, the rmcp crate's stateful Streamable HTTP server in crates/rmcp/src/transport/streamable_http_server/tower.rs allows an unauthenticated client to send a well-formed JSON-RPC POST tha…

  • High 8.2

    libp2p-quic: Remote panic via certificate expiry race during QUIC handshake

    libp2p-rust is the official Rust language implementation of the libp2p networking stack. Prior to 0.13.1, libp2p-quic could panic during an inbound QUIC handshake when a remote peer presented a valid short-lived libp2p TLS certificate and delayed the final TL…

  • High 7.5

    Outgoing datagram buffer accounting can panic the sender in quinn-proto

    The limit on memory used to buffer outgoing datagrams, introduced in 0.11.17, subtracted an evicted datagram's size from the buffered byte counter twice when `Datagrams::send` was called with `drop = true` (as `Connection::send_datagram` in the `quinn` crate …

  • High 7.5

    Peer minimum ACK delay can panic quinn-proto when ACK_FREQUENCY transmission is enabled

    When sending ACK_FREQUENCY frames is enabled through `TransportConfig::ack_frequency_config(Some(..))`, the peer's transport parameters could cause `AckFrequencyState::candidate_max_ack_delay` to call `Duration::clamp` with a minimum greater than its maximum,…

  • High 7.5

    mistral.rs: Unbounded Remote Media Fetch and Video Frame Expansion DoS

    ## Unbounded Remote Media Fetch and Video Frame Expansion DoS ### Summary The `POST /v1/chat/completions` endpoint in mistral.rs fetches attacker-supplied media URLs (image, audio, video) into server memory with no byte limit, and extracts every frame of a su…

  • High 7.2

    mistral.rs Media Loader: Unauthenticated SSRF and arbitrary local file read via image_url

    ### Summary mistral.rs fetches any request-supplied image/audio URL with no host or IP validation, and opens arbitrary local files (a `file://` URL, or any existing relative/absolute path). A remote, unauthenticated client of any vision/audio deployment can c…

  • High 7.3

    zbus_polkit: polkit authorization bypass via PID reuse due to incorrect D-Bus type for the subject UID

    Subject::new_for_owner() in the zbus_polkit crate encodes the uid entry of a unix-process polkit subject as an unsigned 32-bit integer (D-Bus type u), whereas the org.freedesktop.PolicyKit1.Authority interface specifies a signed 32-bit integer (D-Bus type i).…

  • High 7.5

    dd-trace-rs: Unbounded W3C tracestate parsing may lead to DoS

    dd-trace-rs provides Datadog application performance monitoring for Rust. From 0.1.0 until 0.3.3, datadog-opentelemetry/src/propagation/tracecontext.rs parses the W3C tracestate header and collects every semicolon-separated key and value pair in the Datadog d…

  • High 7.5

    gitoxide before 0.69.0 Denial of Service via gix-pack

    gitoxide before 0.69.0 contains unchecked array indexing in delta application and uncapped allocation from attacker-controlled size headers in gix-pack. Attackers can send crafted pack data during clone or fetch operations to trigger panics or out-of-memory p…

  • High 7.5

    gitoxide before 0.82.0 Path Traversal via Submodule Name Validation Bypass

    gitoxide (Rust crates gix <= 0.72.0 and gix-validate <= 0.10.0) contains a path traversal vulnerability. The submodule name validation function in gix-validate only checks the first occurrence of '..' via name.find(b".."), allowing crafted names such as 'a..b…

  • High 7.5

    gitoxide before 0.52.1 Path Traversal via Submodule Name

    gitoxide before 0.52.1 fails to validate submodule names from .gitmodules configuration, allowing path traversal when deriving submodule git directories. Attackers can craft malicious submodule names with traversal segments to redirect state() and open() func…

  • High 7.5

    gitoxide before 0.52.1 Repository Boundary Violation via symlinked .gitmodules

    gitoxide before 0.52.1 follows symlinks when reading the worktree .gitmodules file, allowing attackers to inject out-of-repository bytes into submodule metadata. Attackers can create a malicious repository with a symlinked .gitmodules pointing outside the rep…

  • High 7.5

    Nimiq: Validity store off by one error

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Through 1.5.0, the validity store uses a strict lower-bound comparison that expires a stored transaction too early relative to Transaction::is_vali…

  • High —

    postgres-protocol: Unbounded SCRAM iteration count allows a malicious server to cause CPU-exhaustion denial of service

    A malicious, compromised, or man-in-the-middle server can supply an arbitrarily large SCRAM-SHA-256 PBKDF2 iteration count during authentication. The client runs it inline with no upper bound, pinning a `tokio` worker thread for minutes per connection, possib…