Skip to content
OpenAdvisories

Ecosystem

crates.io

2,075 known vulnerabilities.

2,074 results · Feed

  • Unscored —

    Double-free in `vmem` storage reachable from safe Rust (predecessor of `oneringbuf`)

    `mutringbuf` is the archived predecessor of [`oneringbuf`](https://crates.io/crates/oneringbuf) — the crate was renamed and the GitHub repository was archived on 2025-11-20. All released versions up to `1.0.0` carry the same `vmem`-feature double-free bug tha…

  • High 7.8

    gitoxide: Symlink prefix-reuse allows worktree escape during checkout

    gitoxide is an implementation of git written in Rust. Prior to 0.21.1, a malicious tree can be constructed that will, when checked out with gitoxide, permit writing an attacker-controlled symlink into any existing directory the user has write access to. Durin…

  • High —

    Anchor: `InterfaceAccount` allows account substitution between unexpected types

    ### Impact Any uses of `InterfaceAccount` allows another unexpected account type to be passed, after https://github.com/solana-foundation/anchor/pull/3837 disabled discriminator checking for this type. The bug was originally reported and fixed in https://gith…

  • Unscored —

    Insufficient archive validation can cause out-of-bounds reads in archives containing Rc/Arc

    Shared pointer validation keyed already-validated pointees by their address and type, but did not include pointer metadata. For unsized pointees, an archive could therefore contain multiple `Rc`, `Arc`, or weak pointers that shared a data address but used dif…

  • Unscored —

    Potential undefined behavior with Signature from a buffer-created BlameHunk

    When a `Blame` is created via `Blame::blame_buffer()`, and a `BlameHunk` is retrieved, the pointers to the original author, original committer, final author, and final committer may be null if unavailable. The corresponding `BlameHunk` methods then create `Si…

  • Unscored —

    Potential use-after-free due to lack of panic safety in `LruCache::pop()`

    `LruCache::pop()` in `lru` was not panic-safe. If the `Drop` implementation of a stored key panics during `pop()`, `self.detach()` is never called, leaving dangling pointers in the internal doubly-linked list. A subsequent cache operation that triggers evicti…

  • Unscored —

    Potential undefined behavior when calling Remote::list()

    When calling `Remote::list()` for a remote of a git repository, when that remote does not advertise any references, git2 passes a null pointer to the unsafe function `slice::from_raw_parts()`. Based on the safety section documentation of function, data must b…

  • Medium 4.3

    oxidize-pdf: NaN/inf bypass in colour content-stream emission causes PDF rejection (DoS)

    ### Impact `oxidize-pdf` defines `Color` as a `pub enum` with public tuple-struct variants `Rgb(f64, f64, f64)`, `Gray(f64)`, and `Cmyk(f64, f64, f64, f64)`. The constructors `Color::rgb`, `Color::gray`, and `Color::cmyk` clamp incoming components to `[0.0, 1…

  • Medium —

    Steamworks game clients/servers using P2P authentication vulnerable to denial of service

    Processing the raw `ValidateAuthTicketResponse_t` callback data panics when the `m_eAuthSessionResponse` field is `k_EAuthSessionResponseAuthTicketNetworkIdentityFailure`. This can lead to denial of service in game clients and servers using the `begin_authent…

  • Unscored —

    Insufficient archive validation can cause out-of-bounds reads in archives containing hash tables

    The archive validator could accept certain malformed relative pointers and invalid `ArchivedHashTable` states. In particular, the hash table verifier did not ensure that the number of occupied buckets matched the table's declared length. A crafted archive cou…

  • Unscored —

    Crafted archives can cause a use-after-free during deserialization

    Insufficient archive range validation could allow a crafted archive to reach `ArchivedString::deserialize` with an invalid pointer. A reported reproducer used `rkyv::from_bytes` to deserialize a struct containing strings, a vector, a box, and an optional hash…

  • Medium 6.2

    Grid: Integer Overflow in Grid::expand_rows Leads to Safe-API Undefined Behavior

    Grid is a data structure grid for rust. From version 0.17.0 to before version 1.0.1, an integer overflow in Grid::expand_rows() can corrupt the relationship between the grid’s logical dimensions and its backing storage. After the internal invariant is broken,…

  • High 7.5

    Russh: Pre-auth DoS via unbounded allocation in keyboard-interactive auth

    Russh is a Rust SSH client & server library. Prior to version 0.60.1, a pre-authentication denial-of-service vulnerability exists in the server's keyboard-interactive authentication handler. A malicious client can crash any russh-based server that implements …

  • Medium 6.3

    Lemmy: SSRF in /api/v3/post via Webmention dispatch

    Lemmy is a link aggregator and forum for the fediverse. Prior to version 0.19.18, Lemmy allows an authenticated low-privileged user to create a link post through POST /api/v3/post. When a post is created in a public community, the backend asynchronously sends…

  • Medium 6.5

    Lemmy: SSRF and internal image disclosure in post link metadata via unvalidated og:image

    Lemmy is a link aggregator and forum for the fediverse. Prior to version 0.19.18, Lemmy fetches metadata for user-supplied post URLs and, under the default StoreLinkPreviews image mode, downloads the preview image through local pict-rs. While the top-level pa…

  • High 8.7

    ZEBRA: Permanent Block Discovery Halt via Gossip Queue Saturation and Syncer Poisoning

    ZEBRA is a Zcash node written entirely in Rust. Prior to version 4.4.0, a composite denial-of-service vulnerability in Zebra's block discovery pipeline allows an unauthenticated remote attacker to permanently halt all new block discovery on a targeted node. T…

  • Medium 5.3

    ZEBRA: Allocation Amplification in Inbound Network Deserializers

    ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.4.0, prior to zebra-chain version 7.0.0, and prior to zebra-network version 6.0.0, several inbound deserialization paths in Zebra allocated buffers sized against generic transport or bl…

  • Critical 9.2

    ZEBRA: Block Validator Undercounts Coinbase and P2SH Sigops

    ZEBRA is a Zcash node written entirely in Rust. Prior to version 4.4.0, Zebra's block validator undercounts transparent signature operations against the 20000-sigop block limit (MAX_BLOCK_SIGOPS), allowing it to accept blocks that zcashd rejects with bad-blk-…

  • Critical 9.3

    ZEBRA: Consensus Divergence in Transparent Sighash Hash-Type Handling due to Stale Buffer

    ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.4.0 and prior to zebra-script version 6.0.0, the fix for CVE-2026-41583 introduced a separate issue due to insufficient error handling of the case where the sighash type is invalid, dur…

  • Medium 6.9

    ZEBRA: Denial of Service via Interrupted JSON-RPC Requests from Authenticated Clients

    ZEBRA is a Zcash node written entirely in Rust. From zebrad versions 2.2.0 to before 4.3.1 and from zebra-rpc versions 1.0.0-beta.45 to before 6.0.2, a vulnerability in Zebra's JSON-RPC HTTP middleware allows an authenticated RPC client to cause a Zebra node …

  • Critical 9.2

    ZEBRA: rk Identity Point Panic in Transaction Verification

    ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.3.1 and prior to zebra-chain version 6.0.2, Orchard transactions contain a rk field which is a randomized validating key and also an elliptic curve point. The Zcash specification allows…

  • Critical 9.3

    ZEBRA: Consensus Divergence in Transparent Sighash Hash-Type Handling

    ZEBRA is a Zcash node written entirely in Rust. Prior to zebrad version 4.3.1 and prior to zebra-script version 5.0.2, after a refactoring, Zebra failed to validate a consensus rule that restricted the possible values of sighash hash types for V5 transactions…

  • Medium —

    imageproc: integer overflow in kernel size check leads to out-of-bounds read

    A bounds verification of a slice storage of a 2-dimensional matrix's coefficients (a kernel) would compare the total size against the product of individual dimensions. This would erroneously cast *after* the multiplication and consequently fail to detect poss…

  • Medium —

    imageproc: Out-of-bounds read via NaN coordinates in bilinear/bicubic sampling

    A bounds check was performed in floating points before a cast to the index passed to an unchecked access function. This checked considered `NaN` cases improperly, causing them to succeed the check instead of failing it. The floating point coordinate is under …

  • Medium —

    imageproc has fragile bounds check when sampling from image

    A read of pixels was coded as modifying coordinates to lie within the image bounds. It would calculate a coordinate by adding a constant to an input and taking the minimum of the resulting coordinate and 'dimension - 1'. This would not protect against malicio…

  • Medium —

    hickory-proto vulnerable to CPU exhaustion during message encoding due to O(n²) name compression

    During message encoding, `hickory-proto`'s `BinEncoder` stores pointers to labels that are candidates for name compression in a `Vec<(usize, Vec<u8>)>`. The name compression logic then searches for matches with a linear scan. A malicious message with many rec…

  • High —

    hickory-proto: NSEC3 closest-encloser proof validation enters unbounded loop on cross-zone responses

    The NSEC3 closest-encloser proof validation in `hickory-proto`'s (0.25.0-alpha.3 ... 0.25.2) and `hickory-net`'s (0.26.0-alpha.1 .. 0.26.0) `DnssecDnsHandle` walks from the QNAME up to the SOA owner name, building a list of candidate encloser names. The itera…

  • High 7.5

    rust-zserio has Unbounded Memory Allocation

    ### Impact When deserializing arrays, strings or bytes (blob) types zserio first reads the size of the variable, and then allocates sufficient memory to load data. Since the size is always trusted this can be abused by creating a data file with a large size v…

  • Low —

    diesel-async may expose uninitialized padding bytes for MySQL temporal columns

    ### Summary diesel-async exposes uninitialized stack padding to safe code on every read of a MySQL `DATE`, `TIME`, `DATETIME`, or `TIMESTAMP` column. Reading that buffer is undefined behavior, and the leaked bytes can contain stale heap/stack contents, so thi…

  • Medium —

    Lemmy resend-verification endpoint exposes registered email addresses to unauthenticated users

    ## Summary The unauthenticated resend-verification endpoint returns different responses for registered and unregistered email addresses. A malicious third party can submit candidate addresses to `/api/v4/account/auth/resend_verification_email` and distinguish…

  • High —

    ldap3_proto has LDAP Filter stack exhaustion

    ### Impact LDAP queries are not validated for depth, which can cause the parser (both PEG and ASN) to exhaust the stack. This *may* cause a denial of service in applications that process queries. ### Workarounds N/A ### References Related to GHSA-r5fr-9gmv-jg…

  • Medium —

    kanidmd_lib: Image upload validators run before authorization; PNG validator panics on malformed input

    ### Summary The `POST /v1/domain/_image` and `POST /v1/oauth2/{rs_name}/_image` handlers call `validate_image()` on the uploaded body **before** the ACL check that restricts image upload to admins. Any bug in an image validator is therefore reachable by an un…

  • Low 3.7

    Kanidm has non-constant-time comparison of OAuth2 client_secret

    ### Summary The kanidmd OAuth2 token-exchange (`/oauth2/token`) and token-introspection (`/oauth2/token/introspect`) endpoints compare the supplied `client_secret` against the stored secret using Rust's `PartialEq` on `String`, which short-circuits on the fir…

  • Medium 6.1

    Kanidm: Stored HTML injection in "passkey-enrolment" partial via displayname → htmx-driven authenticated request forgery

    ### Summary The kanidmd web UI renders the WebAuthn passkey-registration challenge as raw JSON inside an inline `<script id="data">` element using the Askama `|safe` filter. The challenge embeds the account's `displayname`, which `serde_json` serialises witho…

  • Low —

    webauthn-rs-core/webauthn-authenticator-rs: Origin validation mismatch possible when subdomains are allowed

    ### Summary `webauthn-rs-core` ([Relying Party][rp]) and `webauthn-authenticator-rs` ([client][]) checked that [an `Origin` in `CollectedClientData`][origin] is valid for [an RP ID][rpid] with [`str::ends_with()`][ends-with], [without checking for a dot (`.`)…

  • Medium 5.3

    Lemmy may expose private community data through community, saved, liked, and modlog API views

    **NOTE**: Only affects development version. ## Summary Lemmy applies private-community checks in `PostView` and `CommentView`, but several adjacent API views skip the accepted-follower filter. Bob, a registered user who is not an accepted follower, can read p…

  • Medium 5.3

    Private Lemmy instances expose multi-community metadata without authentication

    **NOTE**: Only affects development version. ## Summary `read_multi_community()` does not enforce the private-instance setting. On a private instance, an unauthenticated visitor can read multi-community names, titles, summaries, sidebars, owner identities, and…

  • Low 3.8

    rpassword affected by partial password reveal when input is interrupted

    rpassword maintainers were made aware of a possible issue with a partial password reveal when input is interrupted. To quote @squell: > @conradkleinespel I've confirmed this problem with SequoiaPGP, which I think uses rpassword, e.g.: > > Suppose we use pkill…

  • Low —

    astral-tokio-tar: `unpack_in` can chmod arbitrary directories by following symlinks

    ### Impact In versions 0.6.0 and earlier of astral-tokio-tar, the `unpack_in` API could inadvertently modify the permissions of external (i.e. non-archive) directories outside of the archive. An attacker could use this to contrite a tar archive that malicious…

  • Medium —

    astral-tokio-tar is Vulnerable to PAX Header Desynchronization

    ### Impact Versions of astral-tokio-tar prior to 0.6.1 contain a PAX header interpretation bug that allows manipulated entries to be made selectively visible or invisible during extraction with astral-tokio-tar versus other tar implementations. An attacker co…