Lucene search
+L
RustsecMost viewed

1271 matches found

RustSec
RustSec
•added 2021/10/17 12:00 p.m.•33 views

abomonation transmutes &T to and from &[u8] without sufficient constraints

This transmute is at the core of the abomonation crates. It's so easy to use it to violate alignment requirements that no test in the crate's test suite passes under miri. The use of this transmute in serialization/deserialization also incorrectly assumes that the layout of a reprRust type is...

7.5CVSS1.2AI score0.00972EPSS
SaveExploits0
RustSec
RustSec
•added 2021/06/12 12:00 p.m.•33 views

`grep-cli` may run arbitrary executables on Windows

On Windows in versions of grep-cli prior to 0.1.6, it's possible for some of the routines to execute arbitrary executables. In particular, a quirk of the Windows process execution API is that it will automatically consider the current directory before other directories when resolving relative...

9.8CVSS3.5AI score0.01934EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/20 12:00 p.m.•33 views

QueryInterface should call AddRef before returning pointer

Affected version of this crate, which is a required dependency in com-impl, provides a faulty implementation of the IUnknown::QueryInterface method. QueryInterface implementation must call IUnknown::AddRef before returning the pointer, as describe in this documentation: As it is not incrementing...

7.5CVSS1.7AI score0.01053EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/05 12:00 p.m.•33 views

`Read` on uninitialized memory may cause UB (fn preamble_skipcount())

Affected versions of this crate passes an uninitialized buffer to a user-provided Read implementation within fn preambleskipcount. Arbitrary Read implementations can read from the uninitialized buffer memory exposure and also can return incorrect number of bytes written to the buffer. Reading fro...

9.8CVSS3.6AI score0.01191EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/12/18 12:00 p.m.•33 views

UsbContext trait did not require implementers to be Send and Sync.

Affected versions of rusb did not require UsbContext to implement Send and Sync. However, through Device and DeviceHandle it is possible to use UsbContexts across threads. This issue allows non-thread safe UsbContext types to be used concurrently leading to data races and memory corruption. The...

7CVSS3.4AI score0.00285EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/12/10 12:00 p.m.•33 views

Dangling reference in `access::Map` with Constant

Using the arcswap::access::Map with the Constant test helper or with user-provided implementation of the Access trait could sometimes lead to the map returning dangling references. Replaced by implementation without unsafe, at the cost of added Clone bound on the closure and small penalty on...

7.5CVSS1.1AI score0.01619EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/06 12:00 p.m.•33 views

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

The socket2 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...

2.7AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/09/03 12:00 p.m.•33 views

`index()` allows out-of-bound read and `remove()` has off-by-one error

Slab::index does not perform the boundary checking, which leads to out-of-bound read access. Slab::remove copies an element from an invalid address due to off-by-one error, resulting in memory leakage and uninitialized memory drop...

9.1CVSS3.3AI score0.01529EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/08/25 12:00 p.m.•33 views

Multiple security issues including data race, buffer overflow, and uninitialized memory drop

arr crate contains multiple security issues. Specifically, 1. It incorrectly implements Sync/Send bounds, which allows to smuggle non-Sync/Send types across the thread boundary. 2. Index and IndexMut implementation does not check the array bound. 3. Array::newfromtemplate drops uninitialized memo...

9.8CVSS3.6AI score0.01534EPSS
SaveExploits0
RustSec
RustSec
•added 2020/08/25 12:00 p.m.•33 views

Chunk API does not respect align requirement

Chunk API does not respect the align requirement of types. Unaligned reference can be created with the API, which is an undefined behavior...

7.5CVSS1.8AI score0.00915EPSS
SaveExploits0
RustSec
RustSec
•added 2020/08/18 12:00 p.m.•33 views

Missing sanitization in mozwire allows local file overwrite of files ending in .conf

The client software downloaded a list of servers from mozilla's servers and created local files named after the hostname field in the json document. No verification of the content of the string was made, and it could therefore have included '../' leading to path traversal. This allows an attacker...

9.1CVSS3AI score0.01525EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/06/02 12:00 p.m.•33 views

Improper Synchronization and Race Condition in vm-memory

rust-vmm vm-memory before 0.1.1 and 0.2.x before 0.2.1 allows attackers to cause a denial of service loss of IP networking because readobj and writeobj do not properly access memory. This affects aarch64 with musl or glibc and x8664 with musl...

7.5CVSS5.7AI score0.01599EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/05/31 12:00 p.m.•33 views

Double free when calling `sys_info::disk_info` from multiple threads

Affected versions of sys-info use a static, global, list to store temporary disk information while running. The function that cleans up this list, DFCleanup, assumes a single threaded environment and will try to free the same memory twice in a multithreaded environment. This results in consistent...

9.8CVSS1.8AI score0.0123EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/10/11 12:00 p.m.•33 views

generichash::Digest::eq always return true

PartialEq implementation for generichash::Digest has compared itself to itself. Digest::eq always returns true and Digest::ne always returns false...

9.8CVSS2.3AI score0.01502EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/08/21 12:00 p.m.•33 views

Flaw in interface may drop uninitialized instance of arbitrary types

Affected versions of this crate would call Vec::setlen on an uninitialized vector with user-provided type parameter, in an interface of the HDR image format decoder. They would then also call other code that could panic before initializing all instances. This could run Drop implementations on...

9.8CVSS3.9AI score0.02478EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/15 12:00 p.m.•32 views

Leak in WASIp1 `fd_renumber` implementation

This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-3p27-qvp9-27qf For more information see the GitHub-hosted security advisory...

5CVSS5.9AI score0.00367EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/12 12:00 p.m.•32 views

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, possibly stalling the whole async runtime...

5.4AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/10 12:00 p.m.•32 views

`onering` 1.4.1 was removed from crates.io for malicious code

A new version of the onering crate was published with code that attempted to exfiltrate both metadata and code from the project it was included within. One malicious version was published on 2026-06-10, approximately six hours before removal. This crate has no dependencies on crates.io, and there...

5.6AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/04 12:00 p.m.•32 views

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

This crate provides Rust bindings to SPHINCS+/SLH-DSA FIPS 205 via 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 implementations. As a result,...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/06/04 12:00 p.m.•32 views

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

This crate provides Rust bindings to the Falcon FN-DSA signature scheme via 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 implementations. As ...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/05/27 12:00 p.m.•32 views

Use-after-free

Affected versions of oneringbuf exposed the obsolete IntoRef::intoref method through the public IntoRef trait. For heap-backed ring buffers, this method returned a DroppableRef handle. DroppableRef stored an owning raw pointer created from Box::intoraw. Its Clone implementation copied this raw...

5.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/05/21 12:00 p.m.•32 views

Potential Panic in AVX2 SHAKE-256

The AVX2-optimized implementation of SHAKE-256 intended for use in ML-KEM and ML-DSA would panic if the length of the output buffers was greater than 32 and not a multiple of 8, due to an out-of-bounds indexing operation. Impact This bug impacts users on AVX2 platforms that use the...

5.7AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/05/21 12:00 p.m.•32 views

audiopus_sys is unmaintained

audiopussys is implicitly unmaintained and holds a reference to CMake versions with which CMake 4.0 is not backwards compatible, causing cargo builds to error. An effort to contact the maintainer was made on June 10th, 2025 with no reply. A separate 2025 PR was made from a different user addressi...

5.8AI score
SaveExploits0
RustSec
RustSec
•added 2026/05/15 12:00 p.m.•32 views

Unchecked `CryptoVec` allocation and growth handling

CryptoVec used unchecked capacity growth, unchecked length arithmetic, and unsafe allocation and locking paths. In affected russh releases, attacker-controlled input could reach these code paths through buffer resizing operations. Two affected reachability paths were identified: Current russh...

7.5CVSS6.2AI score0.0046EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/27 12:00 p.m.•32 views

AVX2 Implementation Did Not Fully Reduce Intermediate Values

The AVX2 implementation of ML-DSA did not fully reduce intermediate inputs to the inverse NTT, which leads to a testable difference in panic behaviour of internal functions compared to the portable implementation. Impact We are not aware of inputs to the public key generation, signing or...

5.8AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/09 12:00 p.m.•32 views

Heap OOB read in component model UTF-16 to latin1+utf16 string transcoding

This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-hx6p-xpx3-jvvv For more information see the GitHub-hosted security advisory...

8.1CVSS5.9AI score0.00464EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/03/11 12:00 p.m.•32 views

`Authorization::value` and `WwwAuthenticate::value` can violate ASCII invariants

Authorization::value uses HeaderValue::value with the claim that the internal string is ASCII, but Authorization::new and Authorization::setcredentials accept arbitrary String credentials without validation. As a result, safe code can construct a header value containing non-ASCII UTF-8 while the...

5.7AI score
SaveExploits0
RustSec
RustSec
•added 2025/10/21 12:00 p.m.•32 views

`tokio-tar` parses PAX extended headers incorrectly, allows file smuggling

The archive reader incorrectly handles PAX extended headers, when the ustar header incorrectly specifies zero size size=000000000000, while a PAX header specifies a non-zero size, tokio-tar::Archive is going to read the file content as tar entry header. This can be used by a tar file to present...

8.1CVSS6.8AI score0.00703EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2025/03/10 12:00 p.m.•32 views

`tree-sitter-pkl` was removed from crates.io for malicious code

tree-sitter-pkl was part of a campaign that attempted to exfiltrate environmental data from the host. The malicious crate had 1 version published in March 2025, and had no evidence of actual usage. This crate had no dependencies on crates.io...

5.9AI score
SaveExploits0
RustSec
RustSec
•added 2023/03/24 12:00 p.m.•32 views

TLS certificate common name validation bypass

The NATS official Rust clients are vulnerable to MitM when using TLS. The common name of the server's TLS certificate is validated against the hostname provided by the server's plaintext INFO message during the initial connection setup phase. A MitM proxy can tamper with the host field's value by...

6.5AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2023/01/11 12:00 p.m.•32 views

`tokio::io::ReadHalf<T>::unsplit` is Unsound

tokio::io::ReadHalf::unsplit can violate the Pin contract The soundness issue is described in the tokio/issues5372 Specific set of conditions needed to trigger an issue a !Unpin type in ReadHalf is unusual, combined with the difficulty of making any arbitrary use-after-free exploitable in Rust...

1.6AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/11/30 12:00 p.m.•32 views

out-of-bounds read possible when setting list-of-pointers

If a message consumer expects data of type "list of pointers", and if the consumer performs certain specific actions on such data, then a message producer can cause the consumer to read out-of-bounds memory. This could trigger a process crash in the consumer, or in some cases could allow...

5.4CVSS1.2AI score0.00932EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/07/22 12:00 p.m.•32 views

Slack OAuth Secrets leak in debug logs

Debug log formatting made it possible to leak OAuth secrets into debug logs. The patched version has introduced more strict checks to avoid this...

7.5CVSS2.9AI score0.00891EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/25 12:00 p.m.•32 views

Miner fails to get block template when a cell used as a cell dep has been destroyed.

Impact The RPC getblocktemplate fails when a cell has been used as a cell dep and an input in the different transactions. Say cell C is used as a dep group in the transaction A, and is destroyed in the transaction B. The node adds transaction A first, then B into the transaction pool. They are bo...

9.8CVSS0.6AI score0.01191EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/04 12:00 p.m.•32 views

Potential unaligned read

On windows, atty dereferences a potentially unaligned pointer. In practice however, the pointer won't be unaligned unless a custom global allocator is used. In particular, the System allocator on windows uses HeapAlloc, which guarantees a large enough alignment. atty is Unmaintained A Pull Reques...

6.8AI score
SaveExploits0
RustSec
RustSec
•added 2021/02/24 12:00 p.m.•32 views

swap_index can write out of bounds and return uninitialized memory

swapindex takes an iterator and swaps the items with their corresponding indexes. It reserves capacity and sets the length of the vector based on the .len method of the iterator. If the len returned by the iterator is larger than the actual number of elements yielded, then swapindex creates a...

7.5CVSS3.8AI score0.009EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/02/12 12:00 p.m.•32 views

Incorrect check on buffer length when seeding RNGs

Summary: randcore::le::readu32into and readu64into have incorrect checks on the source buffer length, allowing the destination buffer to be under-filled. Implications: some downstream RNGs, including Hc128Rng but not the more widely used ChaChaRng, allow seeding using the SeedableRng::fromseed...

9.8CVSS2.2AI score0.01238EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/03 12:00 p.m.•32 views

Window can read out of bounds if Read instance returns more bytes than buffer size

rdiff performs a diff of two provided strings or files. As part of its reading code it uses the return value of a Read instance to set the length of its internal character vector. If the Read implementation claims that it has read more bytes than the length of the provided buffer, the length of t...

7.5CVSS2AI score0.01059EPSS
SaveExploits0
RustSec
RustSec
•added 2021/01/30 12:00 p.m.•32 views

`Read` on uninitialized buffer may cause UB (`impl Walue for Vec<u8>`)

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...

7.5CVSS2.8AI score0.01489EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/26 12:00 p.m.•32 views

Deserialization functions pass uninitialized memory to user-provided Read

Affected versions of this crate passed an uninitialized buffer to a user-provided Read instance in: deserializebinary deserializestring deserializeextensionothers deserializestringprimitive This can result in safe Read implementations reading from the uninitialized buffer leading to undefined...

4.2AI score
SaveExploits0
RustSec
RustSec
•added 2021/01/02 12:00 p.m.•32 views

Reading uninitialized memory can cause UB (`Deserializer::read_vec`)

Deserializer::readvec created an uninitialized buffer and passes it to a user-provided Read implementation Deserializer.reader.readexact. Passing an uninitialized buffer to an arbitrary Read implementation is currently defined as undefined behavior in Rust. Official documentation for the Read tra...

9.8CVSS2AI score0.01688EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/18 12:00 p.m.•32 views

ImmediateIO and TransactionalIO can cause data races

The ImmediateIO and TransactionalIO types implement Sync for all contained Expander types regardless of if the Expander itself is safe to use across threads. As the IO types allow retrieving the Expander, this can lead to non-thread safe types being sent across threads as part of the Expander...

5.9CVSS3.7AI score0.00978EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/09 12:00 p.m.•32 views

nanorand 0.5.0 - RNGs failed to generate properly for non-64-bit numbers

In versions of nanorand prior to 0.5.1, RandomGen implementations for standard unsigned integers could fail to properly generate numbers, due to using bit-shifting to truncate a 64-bit number, rather than just an as conversion. This often manifested as RNGs returning nothing but 0, including the...

9.8CVSS2.8AI score0.01534EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/29 12:00 p.m.•32 views

MPMCConsumer/Producer allows sending non-Send type across threads

Affected versions of this crate unconditionally implemented Sync and Send traits for MPMCConsumer and MPMCProducer types. This allows users to send types that do not implement Send trait across thread boundaries, which can cause a data race. The flaw was corrected in the 2.0.1 release by adding T...

5.5CVSS3.4AI score0.00382EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/17 12:00 p.m.•32 views

ReadTicket and WriteTicket should only be sendable when T is Send

Affected versions of this crate unconditionally implemented Send for ReadTicket & WriteTicket. This allows to send non-Send T to other threads. This can allows creating data races by cloning types with internal mutability and sending them to other threads as T of ReadTicket/WriteTicket. Such data...

8.1CVSS2.9AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/17 12:00 p.m.•32 views

TryMutex<T> allows sending non-Send type across threads

Affected versions of this crate unconditionally implemented Sync trait for TryMutex type. This allows users to put non-Send T type in TryMutex and send it to another thread, which can cause a data race. The flaw was corrected in the 0.3.0 release by adding T: Send bound for the Sync trait...

5.5CVSS4.1AI score0.00382EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/14 12:00 p.m.•32 views

`LockWeak<T>` allows to create data race to `T`.

In the affected versions of this crate, LockWeak unconditionally implemented Send with no trait bounds on T. LockWeak doesn't own T and only provides &T. This allows concurrent access to a non-Sync T, which can cause undefined behavior like data races...

8.1CVSS4.8AI score0.00833EPSS
SaveExploits1
RustSec
RustSec
•added 2020/11/13 12:00 p.m.•32 views

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

The miow 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...

5.5CVSS3.4AI score0.00395EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/12 12:00 p.m.•32 views

Bunch<T> unconditionally implements Send/Sync

Affected versions of this crate unconditionally implements Send/Sync for Bunch. This allows users to insert T: !Sync to Bunch. It is possible to create a data race to a T: !Sync by invoking the Bunch::get API which returns &T from multiple threads. It is also possible to send T: !Send to other...

8.1CVSS3.7AI score0.01249EPSS
SaveExploits1
RustSec
RustSec
•added 2020/11/10 12:00 p.m.•32 views

`Shared` can cause a data race

Shared data structure in model crate implements Send and Sync traits regardless of the inner type. This allows safe Rust code to trigger a data race, which is undefined behavior in Rust. Users are advised to treat Shared as an unsafe type. It should not be used outside of the testing context, and...

8.1CVSS1.4AI score0.01098EPSS
SaveExploits1
Total number of security vulnerabilities1271