Lucene search
+L
Osv-rustsecMost viewed

1310 matches found

osv-rustsec
osv-rustsec
•added 2020/11/16 12:00 p.m.•43 views

RUSTSEC-2020-0115 Singleton lacks bounds on Send and Sync.

Singleton is meant to be a static object that can be initialized lazily. In order to satisfy the requirement that static items must implement Sync, Singleton implemented both Sync and Send unconditionally. This allows for a bug where non-Sync types such as Cell can be used in singletons and cause...

8.1CVSS7.8AI score0.00766EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2020/11/10 12:00 p.m.•43 views

RUSTSEC-2020-0120 `Decoder<R>` can carry `R: !Send` to other threads

Affected versions of this crate implements Send for Decoder for any R: Read. This allows Decoder to contain R: !Send and carry move it to another thread. This can result in undefined behavior such as memory corruption from data race on R, or dropping R = MutexGuard from a thread that didn't lock...

8.1CVSS8.1AI score0.00766EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2020/11/10 12:00 p.m.•43 views

RUSTSEC-2020-0107 hashconsing's HConsed lacks Send/Sync bound for its Send/Sync trait.

Affected versions of hashconsing implements Send/Sync for its HConsed type without restricting it to Sendable types and Syncable types. This allows non-Sync types such as Cell to be shared across threads leading to undefined behavior and memory corruption in concurrent programs...

7.5CVSS7.7AI score0.0136EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/10/28 12:00 p.m.•43 views

RUSTSEC-2020-0122 beef::Cow lacks a Sync bound on its Send trait allowing for data races

Affected versions of this crate did not have a T: Sync bound in the Send impl for Cow. This allows users to create data races by making Cow contain types that are Send && !Sync like Cell or RefCell. Such data races can lead to memory corruption. The flaw was corrected in commit d1c7658 by adding...

8.1CVSS7.9AI score0.00766EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2020/01/30 12:00 p.m.•43 views

RUSTSEC-2020-0049 Use-after-free in Framed due to lack of pinning

Affected versions of this crate did not require the buffer wrapped in Framed to be pinned, but treated it as if it had a fixed location in memory. This may result in a use-after-free. The flaw was corrected by making the affected functions accept Pin instead of &mut self...

9.8CVSS9.4AI score0.01649EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2019/09/14 12:00 p.m.•43 views

RUSTSEC-2019-0021 `Matrix::zip_elements` causes double free

Affected versions of this crate did not properly implements the Matrix::zipelements method, which causes an double free when the given trait implementation might panic. This allows an attacker to corrupt or take control of the memory. The flaw was corrected by Phosphorus15...

9.8CVSS9.6AI score0.01691EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2019/06/15 12:00 p.m.•43 views

RUSTSEC-2019-0005 Format string vulnerabilities in `pancurses`

pancurses::mvprintw and pancurses::printw passes a pointer from a rust &str to C, allowing hostile input to execute a format string attack, which trivially allows writing arbitrary data to stack memory...

7.5CVSS7.5AI score0.01148EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2026/06/29 12:00 p.m.•42 views

RUSTSEC-2026-0195 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...

7.5CVSS6AI score
SaveExploits0References4
osv-rustsec
osv-rustsec
•added 2026/06/12 12:00 p.m.•42 views

RUSTSEC-2026-0178 Panic on a `DataRow` with fewer fields than columns allows denial of service

A malicious or compromised server can send a row containing fewer fields than its row description declares columns. Reading one of the missing columns then panics with an out-of-bounds index, aborting the calling task. This affects even the otherwise non-panicking tryget, and both Row and...

6.9CVSS5.4AI score
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2023/09/25 12:00 p.m.•42 views

RUSTSEC-2023-0065 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.3AI score0.02057EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2021/02/19 12:00 p.m.•42 views

RUSTSEC-2021-0047 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.5CVSS7.4AI score0.01135EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2021/02/17 12:00 p.m.•42 views

RUSTSEC-2021-0046 misc::vec_with_size() can drop uninitialized memory if clone panics

misc::vecwithsize creates a vector of the provided size and immediately calls vec.setlensize on it, initially filling it with uninitialized memory. It then inserts elements using veci = value.clone. If the value.clone call panics, uninitialized items in the vector will be dropped leading to...

9.8CVSS7.2AI score0.01363EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2021/01/31 12:00 p.m.•42 views

RUSTSEC-2021-0031 split_at allows obtaining multiple mutable references to the same data

Affected versions of this crate assumed that Borrow was guaranteed to return the same value on .borrow. The borrowed index value was used to retrieve a mutable reference to a value. If the Borrow implementation returned a different index, the split arena would allow retrieving the index as a...

9.8CVSS9.5AI score0.01528EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/11/10 12:00 p.m.•42 views

RUSTSEC-2020-0121 AtomicBox<T> implements Send/Sync for any `T: Sized`

Affected versions of this crate implements Send/Sync for AtomicBox without requiring T: Send/T: Sync. This allows to create data races to T: !Sync and send T: !Send to another thread. Such behavior breaks the compile-time thread safety guarantees of Rust, and allows users to incur undefined...

8.1CVSS8.3AI score0.00766EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2020/09/26 12:00 p.m.•42 views

RUSTSEC-2020-0047 array_queue pop_back() may cause a use-after-free

arrayqueue implements a circular queue that wraps around an array. However, it fails to properly index into the array in the popback function allowing the reading of previously dropped or uninitialized memory...

5.5CVSS5.3AI score0.00431EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/09/06 12:00 p.m.•42 views

RUSTSEC-2020-0041 Multiple soundness issues in Chunk and InlineArray

Chunk: Array size is not checked when constructed with unit and pair. Array size is not checked when constructed with From. Clone and insertfrom are not panic-safe; A panicking iterator causes memory safety issues with them. InlineArray: Generates unaligned references for types with a large...

7.5CVSS7.7AI score0.02897EPSS
SaveExploits6References3
osv-rustsec
osv-rustsec
•added 2019/08/27 12:00 p.m.•42 views

RUSTSEC-2019-0013 Wrong memory orderings in RwLock potentially violates mutual exclusion

Wrong memory orderings inside the RwLock implementation allow for two writers to acquire the lock at the same time. The drop implementation used Ordering::Relaxed, which allows the compiler or CPU to reorder a mutable access on the locked data after the lock has been yielded. Only users of the...

7.5CVSS7.6AI score0.01423EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2018/12/22 12:00 p.m.•42 views

RUSTSEC-2018-0020 Possible use-after-free with `proplist::Iterator`

Affected versions contained a possible use-after-free issue with property list iteration due to a lack of a lifetime constraint tying the lifetime of a proplist::Iterator to the Proplist object for which it was created. This made it possible for users, without experiencing a compiler error/warnin...

6.5CVSS6.3AI score0.01001EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2026/08/20 12:00 p.m.•41 views

RUSTSEC-2026-0264 `proc-macro-en` was removed from crates.io due to malicious code

We identified that proc-macro-en contained the same build script as proc-macro1 and it was part of the same supply chain attack. This crate had one single version published at 2026-08-20. The crate was removed from crates.io and related user account was locked. This crate was used as part of a...

5.5AI score
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2022/08/01 12:00 p.m.•41 views

RUSTSEC-2022-0035 Unbounded memory allocation based on untrusted length

Impact Untrusted websocket connections can cause an out-of-memory OOM process abort in a client or a server. The root cause of the issue is during dataframe parsing. Affected versions would allocate a buffer based on the declared dataframe size, which may come from an untrusted source. When...

7.5CVSS7.4AI score0.01863EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2022/02/01 12:00 p.m.•41 views

RUSTSEC-2022-0081 json is unmaintained

Last release was almost 3 years ago. The maintainer is unresponsive with outstanding issues. One of the outstanding issues include a possible soundness issue. Possible Alternatives The below list has not been vetted in any way and may or may not contain alternatives; - jzon maintained fork of jso...

7.2AI score
SaveExploits0References4
osv-rustsec
osv-rustsec
•added 2021/02/09 12:00 p.m.•41 views

RUSTSEC-2021-0022 Use-after-free in `subscript_next` and `subscript_prev` wrappers

Affected versions of this crate had an unsound implementation which could pass a pointer to freed memory to ydbsubscriptnextst and ydbsubscriptprevst if the variable and subscripts did not have enough memory allocated on the first call to hold the next variable in the database. For example, the...

9.8CVSS9.5AI score0.01355EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/11/29 12:00 p.m.•41 views

RUSTSEC-2020-0142 Send bound needed on T (for Send impl of `Bucket2`)

Affected versions of this crate unconditionally implements Send for Bucket2. This allows sending non-Send types to other threads. This can lead to data races when non Send types like Cell or Rc are contained inside Bucket2 and sent across thread boundaries. The data races can potentially lead to...

8.1CVSS8.1AI score0.0124EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/11/17 12:00 p.m.•41 views

RUSTSEC-2020-0087 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.5CVSS5.2AI score0.00382EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/11/15 12:00 p.m.•41 views

RUSTSEC-2020-0133 Queue<T> should have a Send bound on its Send/Sync traits

Affected versions of this crate unconditionally implements Send/Sync for Queue. This allows 1 creating data races to a T: !Sync and 2 sending T: !Send to other threads, resulting in memory corruption or other undefined behavior...

8.1CVSS8.2AI score0.01098EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/05/19 12:00 p.m.•41 views

RUSTSEC-2020-0019 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.5CVSS7.5AI score0.01352EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2026/09/14 12:00 p.m.•40 views

RUSTSEC-2026-0285 TLS 1.3 handshake messages incorrectly accepted across encryption level boundaries

Rustls accepted TLS 1.3 handshake messages sent at the wrong encryption level when they followed a key-changing message in the same record. For example, a plaintext EncryptedExtensions message packed into the same record as the ServerHello was accepted. RFC 8446 section 5.1 requires that handshak...

5.3CVSS5.7AI score
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2026/06/20 12:00 p.m.•40 views

RUSTSEC-2026-0186 Unchecked pointer offset in crate `memmap2`

Affected versionf of memmap2 did not perform enough validation on the offset and len parameters of Mmap::uncheckedadviserange, MmapMut::uncheckedadviseranage and MmapMut::flushasyncrange. This can cause undefined behavior due to invalid values being passed to pointer::offset and pointer::add when...

5.9AI score
SaveExploits0References4
osv-rustsec
osv-rustsec
•added 2026/06/04 12:00 p.m.•40 views

RUSTSEC-2026-0164 `pqcrypto` is unmaintained: upstream PQClean project being archived

The pqcrypto crate and the entire pqcrypto- ecosystem wrap C implementations from PQClean. The PQClean project is being archived in or after July 2026 see PQClean/PQClean604, after which no further security patches, algorithm updates, or bug fixes will be applied to the upstream implementations. ...

5.8AI score
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2022/11/30 12:00 p.m.•40 views

RUSTSEC-2022-0068 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.4CVSS5.1AI score0.00932EPSS
SaveExploits0References5
osv-rustsec
osv-rustsec
•added 2022/08/31 12:00 p.m.•40 views

RUSTSEC-2022-0055 No default limit put on request bodies

::fromrequest would not, by default, set a limit for the size of the request body. That meant if a malicious peer would send a very large or infinite body your server might run out of memory and crash. This also applies to these extractors which used Bytes::fromrequest internally: -...

7.5CVSS7.4AI score0.01002EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2022/05/22 12:00 p.m.•40 views

RUSTSEC-2022-0028 Use after free in Neon external buffers

Neon provides functionality for creating JavaScript ArrayBuffer and the Buffer subtype instances backed by bytes allocated outside of V8/Node. The JsArrayBuffer::external and JsBuffer::external did not require T: 'static prior to Neon 0.10.1. This allowed creating an externally backed buffer from...

7.1AI score
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2021/08/14 12:00 p.m.•40 views

RUSTSEC-2021-0082 vec-const attempts to construct a Vec from a pointer to a const slice

Affected versions of this crate claimed to construct a const Vec with nonzero length and capacity, but that cannot be done because such a Vec requires a pointer from an allocator. The implementation was later changed to just construct a std::borrow::Cow...

7.5CVSS7.3AI score0.01053EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2021/07/25 12:00 p.m.•40 views

RUSTSEC-2021-0108 Remote memory exhaustion in ckb

In the ckb sync protocol, SyncState maintains a HashMap called 'misbehavior' that keeps a score of a peer's violations of the protocol. This HashMap is keyed to PeerIndex an alias for SessionId, and entries are never removed from it. SessionId is an integer that increases monotonically with every...

7.8CVSS7.5AI score0.01466EPSS
SaveExploits0References2
osv-rustsec
osv-rustsec
•added 2021/07/22 12:00 p.m.•40 views

RUSTSEC-2021-0077 `better-macro` has deliberate RCE to prove a point

better-macro is a fake crate which is "Proving A Point" that proc-macros can run arbitrary code. This is not a particularly novel or interesting observation. It currently opens https://github.com/raycar5/better-macro/blob/master/doc/hi.md which doesn't appear to have any malicious content, but...

9.8CVSS9.4AI score0.02567EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2021/05/19 12:00 p.m.•40 views

RUSTSEC-2021-0068 Soundness issue in `iced-x86` versions <= 1.10.3

Versions of iced-x86...

9.8CVSS9.3AI score0.01275EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2021/02/17 12:00 p.m.•40 views

RUSTSEC-2021-0029 Tape::take_bytes exposes uninitialized memory to a user-provided Read

Affected versions of this crate passed an unininitialized buffer to a user-provided Read instance in Tape::takebytes. This can result in safe Read implementations reading from the uninitialized buffer leading to undefined behavior. The flaw was corrected in commit 1f2dc7f37dd by removing the unsa...

7.5CVSS7.5AI score0.01175EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2021/01/07 12:00 p.m.•40 views

RUSTSEC-2021-0087 columnar: `Read` on uninitialized buffer may cause UB (ColumnarReadExt::read_typed_vec())

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

9.8CVSS9.4AI score0.01191EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2021/01/05 12:00 p.m.•40 views

RUSTSEC-2021-0088 `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.8CVSS9.4AI score0.01191EPSS
SaveExploits0References4
osv-rustsec
osv-rustsec
•added 2021/01/04 12:00 p.m.•40 views

RUSTSEC-2021-0143 kamadak-exif DoS with untrusted PNG data

Attacker crafted data can cause a infinite loop leading to DoS if used with untrusted data...

6.5CVSS6.2AI score0.01534EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2020/12/06 12:00 p.m.•40 views

RUSTSEC-2020-0082 ordered_float:NotNan may contain NaN after panic in assignment operators

After using an assignment operators such as NotNan::addassign, NotNan::mulassign, etc., it was possible for the resulting NotNan value to contain a NaN. This could cause undefined behavior in safe code, because the safe NotNan::cmp method contains internal unsafe code that assumes the value is...

5.5CVSS5.4AI score0.00392EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/11/24 12:00 p.m.•40 views

RUSTSEC-2020-0125 convec::ConVec<T> unconditionally implements Send/Sync

Affected versions of this crate unconditionally implement Send/Sync for ConVec. This allows users to insert T that is not Send or not Sync. This allows users to create data races by using non-Send types like Arc or Rc as T in ConVec. It is also possible to create data races by using types like Ce...

8.1CVSS7.9AI score0.00766EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2020/11/15 12:00 p.m.•40 views

RUSTSEC-2020-0136 CopyCell lacks bounds on its Send trait allowing for data races

CopyCell is a Cell-like type that is implemented for any type T that is Copyable. It's Send trait has no bounds on the contained type. As not all Copyable types are thread safe, for example non-mutable references implement the Copy trait, it is possible to send references to types with interior...

8.1CVSS8AI score0.01098EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/11/14 12:00 p.m.•40 views

RUSTSEC-2020-0134 `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.1CVSS7.9AI score0.00833EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2020/01/24 12:00 p.m.•40 views

RUSTSEC-2020-0004 sigstack allocation bug can cause memory corruption or leak

An embedding using affected versions of lucet-runtime configured to use non-default Wasm globals sizes of more than 4KiB, or compiled in debug mode without optimizations, could leak data from the signal handler stack to guest programs. This can potentially cause data from the embedding host to le...

9.1CVSS9.2AI score0.01523EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2019/09/14 12:00 p.m.•40 views

RUSTSEC-2019-0022 Stream callback function is not unwind safe

Affected versions of this crate is not panic safe within callback functions streamcallback and streamfinishedcallback. The call to user-provided closure might panic before a mem::forget call, which then causes a use after free that grants attacker to control the callback function pointer. This...

9.8CVSS9.7AI score0.02506EPSS
SaveExploits1References3
osv-rustsec
osv-rustsec
•added 2016/05/09 12:00 p.m.•40 views

RUSTSEC-2016-0002 HTTPS MitM vulnerability due to lack of hostname verification

When used on Windows platforms, all versions of Hyper prior to 0.9.4 did not perform hostname verification when making HTTPS requests. This allows an attacker to perform MitM attacks by preventing any valid CA-issued certificate, even if there's a hostname mismatch. The problem was addressed by...

4.8CVSS4.8AI score0.00738EPSS
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2026/07/25 12:00 p.m.•39 views

RUSTSEC-2026-0216 Remote Denial of Service via malformed NIP‑44 v2 payload

The NIP-44 v2 decryption path in the nostr crate contains a reachable panic when processing a short or empty ciphertext. After the HMAC check passes and the ciphertext is decrypted via ChaCha20, the code reads a 2‑byte unpadded‑length prefix via buffer0..2 without first verifying that the decrypt...

7.5CVSS5.8AI score
SaveExploits0References3
osv-rustsec
osv-rustsec
•added 2026/01/21 12:00 p.m.•39 views

RUSTSEC-2026-0004 Triton VM Soundness Vulnerability due to Improper Sampling of Randomness

In affected versions of Triton VM, the verifier failed to correctly sample randomness in the FRI sub-protocol. Malicious provers can exploit this to craft proofs for arbitrary statements that this verifier accepts as valid, undermining soundness. Protocols that rely on proofs and the supplied...

5.8AI score
SaveExploits0References2
osv-rustsec
osv-rustsec
•added 2024/11/22 12:00 p.m.•39 views

RUSTSEC-2024-0399 rustls network-reachable panic in `Acceptor::accept`

A bug introduced in rustls 0.23.13 leads to a panic if the received TLS ClientHello is fragmented. Only servers that use rustls::server::Acceptor::accept are affected. Servers that use tokio-rustls's LazyConfigAcceptor API are affected. Servers that use tokio-rustls's TlsAcceptor API are not...

7.5CVSS7AI score0.00731EPSS
SaveExploits1References3
Total number of security vulnerabilities1310