Lucene search
+L
RustsecMost viewed

1224 matches found

RustSec
RustSec
added 2020/03/19 12:00 p.m.26 views

CBox API allows to de-reference raw pointers without `unsafe` code

CBox and CSemiBox are part of the public API of the cbox crate and they allow to create smart pointers from raw pointers and de-reference them without the need of unsafe code...

9.8CVSS3.8AI score0.01629EPSS
SaveExploits1
RustSec
RustSec
added 2019/06/06 12:00 p.m.26 views

Double-free and use-after-free in SmallVec::grow()

Attempting to call grow on a spilled SmallVec with a value equal to the current capacity causes it to free the existing data. This performs a double free immediately and may lead to use-after-free on subsequent accesses to the SmallVec contents. An attacker that controls the value passed to grow...

9.8CVSS8.7AI score0.01862EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2019/03/10 12:00 p.m.26 views

Fix for UB in failure to catch panics crossing FFI boundaries

Affected versions of this crate failed to catch panics crossing FFI boundaries via callbacks, which is a form of UB. This flaw was corrected by this commit1 which was included in version 2.6.0. 1: https://github.com/jnqnfe/pulse-binding-rust/commit/7fd282aef7787577c385aed88cb25d004b85f494...

7.5CVSS3.7AI score0.01177EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2017/05/03 12:00 p.m.26 views

Integer overflow leads to heap-based buffer overflow in encode_config_buf

Affected versions of this crate suffered from an integer overflow bug when calculating the size of a buffer to use when encoding base64 using the encodeconfigbuf and encodeconfig functions. If the input string was large, this would cause a buffer to be allocated that was too small. Since this...

9.8CVSS3.7AI score0.01534EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2016/09/10 12:00 p.m.26 views

libusb is unmaintained; use rusb instead

The libusb crate has not seen a release since September 2016, and its author is unresponsive. The rusb crate is a maintained fork: https://github.com/a1ien/rusb...

7.1AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/30 12:00 p.m.25 views

mXSS in ammonia via MathML `annotation-xml` encoding strip

If a certain set of MathML tags are enabled, an attacker can inject arbitrary JavaScript code into the user's browser. The annotation-xml tag has slightly different behavior than the other "integration point" tags in MathML and SVG, but ammonia didn't handle it, so it didn't correctly strip the...

6.2AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/04 12:00 p.m.25 views

`pqcrypto-internals` is unmaintained: upstream PQClean project being archived

This crate provides internal FFI utilities for the pqcrypto- ecosystem, directly wrapping C implementations from PQClean. The PQClean project is being archived in or after July 2026 see PQClean/PQClean604, after which no further security patches or bug fixes will be applied to the upstream...

5.8AI score
SaveExploits0
RustSec
RustSec
added 2026/05/16 12:00 p.m.25 views

Read-only volume remount bypass via guest CAP_SYS_ADMIN

Affected versions of boxlite mount host directories shared via virtiofs as guest-side read-only by setting MSRDONLY from the guest. Because the default guest capability set included CAPSYSADMIN, untrusted code running inside a sandbox could execute mount -o remount,rw to re-flag the share as...

10CVSS5.9AI score0.00289EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/05/02 12:00 p.m.25 views

Out-of-bounds read in `bytes_helper` public safe functions

The byteshelper module contains multiple public functions intoarr4, intoarr2, u8fromlebytes that use slice.getuncheckedpos..pos + N without verifying that pos + N = slice.len. These are public safe API functions, allowing any caller to trigger undefined behavior by passing invalid positions. For...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/05/02 12:00 p.m.25 views

Buffer overflow in `Clusterings::from_i32_column_major_order()`

The fromi32columnmajororder method can create inconsistent internal state. When labels length and nitems mismatch, nclusterings becomes labels.len / nitems truncated, but subsequent calls to label use indices that exceed the internal data bounds, causing a buffer overflow. For example,...

6AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/04/22 12:00 p.m.25 views

Record cache accepts AUTHORITY section NS from sibling zone via parent-pool zone-context elevation

The Hickory DNS project's experimental hickory-recursor crate's record cache DnsLru stores records from DNS responses keyed by each record's own name, type, not by the query that triggered the response. cacheresponse in crates/recursor/src/lib.rs chains ANSWER, AUTHORITY, and ADDITIONAL sections...

5.7AI score
SaveExploits0
RustSec
RustSec
added 2026/03/04 12:00 p.m.25 views

HTTP Request Smuggling via HTTP/1.0 and Transfer-Encoding Misparsing

Pingora versions prior to 0.8.0 improperly allowed HTTP/1.0 request bodies to be close-delimited and incorrectly handled multiple Transfer-Encoding values. This allows an attacker to desync Pingora's request framing from backend servers and smuggle requests to the backend. This vulnerability...

9.3CVSS5.9AI score0.00707EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/02/24 12:00 p.m.25 views

`tracing-check` was removed from crates.io for malicious code

This is part of an ongoing campaign to attempt to typosquat crates in the polymarket-client-sdk ecosystem to exfiltrate user credentials. The malicious crate had 1 version published on 2026-02-24 approximately 4 hours before removal and had no evidence of actual downloads. There were no crates...

5.4AI score
SaveExploits0
RustSec
RustSec
added 2026/02/05 12:00 p.m.25 views

Unnecessary clamping of seed reduces seed entropy to 251 bits

The latest releases of the libcrux-ed25519 crate contains the following bug-fix: 1320: Remove duplicated clamping step during key generation The issue fixed in 1320 was first reported by Nadim Kobeissi...

8.7CVSS5.3AI score0.00224EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/01/21 12:00 p.m.25 views

`DynFuture` drop can construct a dangling reference

DynFuture is unsound because its Drop implementation transmutes a trait-object reference into unrelated reference types, which constructs an invalid reference from trait object metadata. This issue was reproduced against dyn-future 3.0.4 under Miri. And the crate is unmaintained...

5.8AI score
SaveExploits0
RustSec
RustSec
added 2025/12/09 12:00 p.m.25 views

`finch-rst` was removed from crates.io for malicious code

This attempts to typosquat the existing crate finch to steal credentials from local files. The malicious crate had 1 version published on 2025-12-08 and had been downloaded 21 times. There were no crates depending on this crate on crates.io. Thanks to Matthias Zepper of NGI Sweden for reporting...

5.5AI score
SaveExploits0
RustSec
RustSec
added 2025/10/18 12:00 p.m.25 views

`unic-idna` is unmaintained

All Unicode crates that are part of https://github.com/open-i18n/rust-unic are unmaintained. Recommended alternatives - idna...

7AI score
SaveExploits0
RustSec
RustSec
added 2024/03/20 12:00 p.m.25 views

yaml-rust is unmaintained.

The maintainer seems unreachable. Many issues and pull requests have been submitted over the years without any response. Alternatives Consider switching to the actively maintained yaml-rust2 fork of the original project: - yaml-rust2 - yaml-rust2 @ crates.io...

7.2AI score
SaveExploits0
RustSec
RustSec
added 2023/09/25 12:00 p.m.25 views

Tungstenite allows remote attackers to cause a denial of service

The Tungstenite crate through 0.20.0 for Rust allows remote attackers to cause a denial of service minutes of CPU consumption via an excessive length of an HTTP header in a client handshake. The length affects both how many times a parse is attempted e.g., thousands of times and the average amoun...

7.5CVSS7.2AI score0.0162EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2023/03/04 12:00 p.m.25 views

`maligned::align_first` causes incorrect deallocation

maligned::alignfirst manually allocates with an alignment larger than T, and then uses Vec::fromrawparts on that allocation to get a Vec. GlobalAlloc::dealloc requires that the layout argument must be the same layout that was used to allocate that block of memory. When deallocating, Box and Vec m...

2.2AI score
SaveExploits0
RustSec
RustSec
added 2022/10/30 12:00 p.m.25 views

Denial of Service from unchecked request length

Prior to version 0.4.2, conduit-hyper did not check any limit on a request's length before calling hyper::body::tobytes. An attacker could send a malicious request with an abnormally large Content-Length, which could lead to a panic if memory allocation failed for that request. In version 0.4.2,...

7.5CVSS3.3AI score0.00734EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2022/02/05 12:00 p.m.25 views

Unsoundness of AtomicCell<*64> arithmetics on 32-bit targets that support Atomic*64

Impact Affected versions of this crate incorrectly assumed that the alignment of i,u64 was always the same as AtomicI,U64. However, the alignment of i,u64 on a 32-bit target can be smaller than AtomicI,U64. This can cause the following problems: - Unaligned memory accesses - Data race Crates usin...

8.1CVSS7.4AI score0.01239EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2022/01/19 12:00 p.m.25 views

Space bug in `clean_text`

An incorrect mapping from HTML specification to ASCII codes was used. Because HTML treats the Form Feed as whitespace, code like this has an injection bug: let html = format!"", cleantextusersuppliedstring; Applications are not affected if they quote their attributes, or if they don't use cleante...

1.4AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/07/13 12:00 p.m.25 views

libsecp256k1 allows overflowing signatures

libsecp256k1 accepts signatures whose R or S parameter is larger than the secp256k1 curve order, which differs from other implementations. This could lead to invalid signatures being verified. The error is resolved in 0.5.0 by adding a checkoverflow flag...

9.8CVSS4.1AI score0.00935EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2021/03/05 12:00 p.m.25 views

Fix a use-after-free bug in diesels Sqlite backend

We've misused sqlite3columnname. The SQLite documentation states that the following: The returned string pointer is valid until either the prepared statement is destroyed by sqlite3finalize or until the statement is automatically reprepared by the first call to sqlite3step for a particular run or...

9.8CVSS2.1AI score0.01319EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/03/04 12:00 p.m.25 views

`quinn` invalidly assumes the memory layout of std::net::SocketAddr

The quinn crate has assumed std::net::SocketAddrV4 and std::net::SocketAddrV6 have the same memory layout as the system C representation sockaddr. It has simply casted the pointers to convert the socket addresses to the system representation. The standard library does not say anything about the...

7.5CVSS2.8AI score0.0125EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2021/02/19 12:00 p.m.25 views

SliceDeque::drain_filter can double drop an element if the predicate panics

Affected versions of the crate incremented the current index of the drain filter iterator before calling the predicate function self.pred. If the predicate function panics, it is possible for the last element in the iterator to be dropped twice...

7.5CVSS2.7AI score0.01135EPSS
SaveExploits1
RustSec
RustSec
added 2021/01/12 12:00 p.m.25 views

panic safety: double drop may happen within `util::{mutate, mutate2}`

Upon panic in a user-provided function f, fn mutate & fn mutate2 drops twice a same object. Affected versions of this crate did not guard against double drop while temporarily duplicating an object's ownership with ptr::read. Dropping a same object can result in memory corruption. The flaw was...

9.8CVSS1.1AI score0.01552EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2021/01/07 12:00 p.m.25 views

Reading on uninitialized buffer may cause UB ( `gfx_auxil::read_spirv()` )

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 buffer. Reading from uninitialized memory...

9.8CVSS3.8AI score0.01191EPSS
SaveExploits0
RustSec
RustSec
added 2020/12/31 12:00 p.m.25 views

`impl Random` on arrays can lead to dropping uninitialized memory

Affected versions of this crate had a panic safety issue to drop partially uninitialized array of T upon panic in a user provided function T::random. Dropping uninitialized T can potentially cause memory corruption or undefined behavior. The flaw was corrected in commit 565d508 by using MaybeUnin...

7.8CVSS2.9AI score0.00426EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2020/12/17 12:00 p.m.25 views

Async-h1 request smuggling possible with long unread bodies

This vulnerability affects any webserver that uses async-h1 behind a reverse proxy, including all such Tide applications. If the server does not read the body of a request which is longer than some buffer length, async-h1 will attempt to read a subsequent request from the body content starting at...

0.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/11/17 12:00 p.m.25 views

Slock<T> allows sending non-Send types across thread boundaries

Slock unconditionally implements Send/Sync. Affected versions of this crate allows sending non-Send types to other threads, which can lead to data races and memory corruption due to the data race...

8.1CVSS5AI score0.01311EPSS
SaveExploits1Affected Software1
RustSec
RustSec
added 2020/05/19 12:00 p.m.25 views

tokio-rustls reads may cause excessive memory usage

tokio-rustls does not call processnewpackets immediately after read, so the expected termination condition wantsread always returns true. As long as new incoming data arrives faster than it is processed and the reader does not return pending, data will be buffered. This may cause DoS...

7.5CVSS2.2AI score0.01336EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2020/01/22 12:00 p.m.25 views

Observable Discrepancy in libsecp256k1-rs

A timing vulnerability in the Scalar::checkoverflow function in Parity libsecp256k1-rs before 0.3.1 potentially allows an attacker to leak information via a side-channel attack...

5.9CVSS3.9AI score0.00881EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2019/10/14 12:00 p.m.25 views

Flaw in Scalar::check_overflow allows side-channel timing attack

Versions of libsecp256k1 prior to 0.3.1 did not execute Scalar::checkoverflow in constant time. This allows an attacker to potentially leak information via a timing attack. The flaw was corrected by modifying Scalar::checkoverflow to execute in constant time...

7.5CVSS6.6AI score0.01404EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2019/06/13 12:00 p.m.25 views

Processing of maliciously crafted length fields causes memory allocation SIGABRTs

Affected versions of this crate tried to preallocate a vector for an arbitrary amount of bytes announced by the ASN.1-DER length field without further checks. This allows an attacker to trigger a SIGABRT by creating length fields that announce more bytes than the allocator can provide. The flaw w...

7.5CVSS4AI score0.01382EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2018/07/19 12:00 p.m.25 views

Possible double free during unwinding in SmallVec::insert_many

If an iterator passed to SmallVec::insertmany panicked in Iterator::next, destructors were run during unwinding while the vector was in an inconsistent state, possibly causing a double free a destructor running on two copies of the same value. This is fixed in smallvec 0.6.3 by ensuring that the...

9.8CVSS8.4AI score0.01813EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2016/08/01 12:00 p.m.25 views

HTTP download and execution allows MitM RCE

The build script in the portaudio crate will attempt to download via HTTP the portaudio source and build it. A Mallory in the middle can intercept the download with their own archive and get RCE...

5.9CVSS1.3AI score0.01078EPSS
SaveExploits0
RustSec
RustSec
added 2026/07/26 12:00 p.m.24 views

Remote Denial of Service via malformed NIP-04 IV

The nostr crate did not validate the length of the initialization vector decoded from the ?iv= portion of a NIP-04 encrypted message. The decoded IV was converted from a byte slice to the 16-byte AES-CBC IV type using a conversion that asserts the slice length. As a result, an IV whose decoded...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/29 12:00 p.m.24 views

Unbounded namespace-declaration allocation in `NsReader` enables memory-exhaustion denial of service

NsReader resolves namespaces by calling NamespaceResolver::push for every Start/Empty event before the event is returned to the caller. push iterated all xmlns / xmlns: attributes on the start tag and, for each one, appended the prefix bytes to an internal buffer and pushed a NamespaceBinding 32...

6AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/24 12:00 p.m.24 views

WASI hard links and renames bypass wasmtime-wasi's FilePerms for destination

This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-4ch3-9j33-3pmj For more information see the GitHub-hosted security advisory...

6.5CVSS5.8AI score0.00171EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/03 12:00 p.m.24 views

Sender-binding gaps in to-device messages

The matrix-sdk-crypto crate before 0.16.1 is missing a check for the sender's user ID when decrypting an Olm-encrypted to-device message containing the senderdevicekeys property. This could be exploited to spoof the sender of an encrypted to-device message, but only if the attacker colludes with ...

6.9CVSS5.8AI score0.00234EPSS
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/06/02 12:00 p.m.24 views

`exploration` was removed from crates.io for malicious code

A method within the exploration crate attempted to download and execute a payload from a remote site. The malicious crate had 1 version published on 2026-06-02, approximately 1 hour before removal, and had no evidence of actual usage. This crate had no dependencies on crates.io. Thanks to Kirill...

5.9AI score
SaveExploits0
RustSec
RustSec
added 2026/05/14 12:00 p.m.24 views

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

mutringbuf is the archived predecessor of 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 that affects oneringbuf, with the same code paths and the same reproduction shape. When...

5.9AI score
SaveExploits0
RustSec
RustSec
added 2026/05/12 12:00 p.m.24 views

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 eviction can then dereference these dangling pointers: - The...

5.6AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/05/05 12:00 p.m.24 views

Denial of service in Steamworks game clients/servers using P2P authentication

Processing the raw ValidateAuthTicketResponset callback data panics when the meAuthSessionResponse field is kEAuthSessionResponseAuthTicketNetworkIdentityFailure. This can lead to denial of service in game clients and servers using the beginauthenticationsession API to authenticate players if a...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/05/02 12:00 p.m.24 views

Null-pointer dereference and double-free via safe APIs

Two soundness violations exist in the Rust bindings for MetaCall: Null-pointer dereference: MetaCallFuture::newraw accepts a raw pointer without validation. The Debug impl calls Box::fromrawself.data on it. Passing a null pointer causes the Debug impl to construct a NonNull from null, producing...

5.8AI score
SaveExploits0
RustSec
RustSec
added 2026/05/02 12:00 p.m.24 views

Potential out-of-bounds write via public `Context` fields

The Context struct has all fields public pub dlen, pub digest, etc.. Code from other modules within the same crate can directly modify dlen to a value exceeding the digest vector length. When reset is subsequently called, self.digestself.dlen as usize = 0 becomes an out-of-bounds write. Withdrawa...

5.8AI score
SaveExploits0
RustSec
RustSec
added 2026/04/21 12:00 p.m.24 views

Broken hard revocation handling

Before sq-git checks if a commit can be authenticated, it first looks for hard revocations. Because parsing a policy is expensive and a project's policy rarely changes, sq-git has an optimization to only check a policy if it hasn't checked it before. It does this by maintaining a set of policies...

5.4AI score
SaveExploits0Affected Software1
RustSec
RustSec
added 2026/04/14 12:00 p.m.24 views

Name constraints for URI names were incorrectly accepted

Name constraints for URI names were ignored and therefore accepted. Note this library does not provide an API for asserting URI names, and URI name constraints are otherwise not implemented. URI name constraints are now rejected unconditionally. Since name constraints are restrictions on otherwis...

5.4AI score
SaveExploits0Affected Software1
Total number of security vulnerabilities1224