Lucene search
+L
Osv RustsecMost viewed

1310 matches found

osv_rustsec
osv_rustsec
•added 2019/06/06 12:00 p.m.•54 views

RUSTSEC-2019-0009 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
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2018/06/21 12:00 p.m.•54 views

RUSTSEC-2018-0001 An integer underflow could lead to panic

A mistake in error handling in untrusted before 0.6.2 could lead to an integer underflow and panic if a user of the crate didn't properly check for errors returned by untrusted. Combination of these two programming errors one in untrusted and another by user of this crate could lead to a panic an...

7.5CVSS7.2AI score0.01411EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2026/08/09 12:00 p.m.•53 views

RUSTSEC-2026-0240 Ed25519 identity public keys permit universal signature forgery

All published versions of dcrypt-sign before 2.0.0 accepted the Edwards identity as an Ed25519 public key. A signature with R = B and S = 1 then verified for every message because the challenge term multiplied the identity. The implementation also admitted other noncanonical or small-order inputs...

5.3AI score
SaveExploits0References5
osv_rustsec
osv_rustsec
•added 2026/06/22 12:00 p.m.•53 views

RUSTSEC-2026-0185 Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly

The Assembler component that assembles unordered stream fragments into consecutive chunks of the stream incurs some overhead for non-contiguous fragments. Readers that read from a RecvStream in order through an AsyncRead impl for example will be sensitive to peers that send fragments while leavin...

7.5CVSS5.9AI score0.00841EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2021/01/26 12:00 p.m.•53 views

RUSTSEC-2021-0042 insert_many can drop elements twice on panic

Affected versions of insertmany used ptr::copy to move over items in a vector to make space before inserting, duplicating their ownership. It then iterated over a provided Iterator to insert the new items. If the iterator's .next method panics then the vector would drop the same elements twice...

7.5CVSS7.3AI score0.01135EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2021/01/06 12:00 p.m.•53 views

RUSTSEC-2021-0015 `Sectors::get` accesses unclaimed/uninitialized memory

Affected versions of this crate arbitrarily calls Vec::setlen to increase length of a vector without claiming more memory for the vector. Affected versions of this crate also calls user-provided Read on the uninitialized memory of the vector that was extended with Vec::setlen. This can overwrite...

9.8CVSS9.4AI score0.01728EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2020/11/10 12:00 p.m.•53 views

RUSTSEC-2020-0140 `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.1CVSS8AI score0.01098EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2020/06/16 12:00 p.m.•53 views

RUSTSEC-2020-0031 HTTP Request smuggling through malformed Transfer Encoding headers

HTTP pipelining issues and request smuggling attacks are possible due to incorrect Transfer encoding header parsing. It is possible conduct HTTP request smuggling attacks CL:TE/TE:TE by sending invalid Transfer Encoding headers. By manipulating the HTTP response the attacker could poison a...

6.5CVSS6AI score0.01087EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2020/05/27 12:00 p.m.•53 views

RUSTSEC-2020-0028 `LocalRequest::clone` creates multiple mutable references to the same object

The affected version of rocket contains a Clone trait implementation of LocalRequest that reuses the pointer to inner Request object. This causes data race in rare combinations of APIs if the original and the cloned objects are modified at the same time...

8.1CVSS7.9AI score0.00969EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2019/08/24 12:00 p.m.•53 views

RUSTSEC-2019-0023 Cloned interners may read already dropped strings

Affected versions of this crate did not clone contained strings when an interner is cloned. Interners have raw pointers to the contained strings, and they keep pointing the strings which the old interner owns, after the interner is cloned. If a new cloned interner is alive and the old original...

7.5CVSS7.3AI score0.01547EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2018/12/09 12:00 p.m.•53 views

RUSTSEC-2018-0009 MsQueue and SegQueue suffer from double-free

Even if an element is popped from a queue, crossbeam would run its destructor inside the epoch-based garbage collector. This is a source of double frees. The flaw was corrected by wrapping elements inside queues in a ManuallyDrop. Thanks to @c0gent for reporting the issue...

9.8CVSS8.3AI score0.01744EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2026/06/21 12:00 p.m.•52 views

RUSTSEC-2026-0187 Stack overflow in lopdf via deeply nested PDF objects

lopdf::Document::loadmem 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 call stack and aborts the process with SIGABRT. Because...

7.5CVSS5.8AI score
SaveExploits0References5
osv_rustsec
osv_rustsec
•added 2026/06/06 12:00 p.m.•52 views

RUSTSEC-2026-0181 DoS vulnerability in HTTP/1.x chunked encoding parser triggered by maliciously crafted chunk lengths

When using the affected versions of the vibeio-http crate, an attacker could craft a malicious HTTP/1.x request with a large chunk length between usize::MAX - 1 and usize::MAX inclusive and send it, causing the server to crash integer overflow panic in debug builds, splitto out of bounds panic in...

5.6AI score
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2026/03/08 12:00 p.m.•52 views

RUSTSEC-2026-0038 RustSec Advisory

Impact Vulnerability Type: Improper Control of Generation of Code 'Code Injection' CWE-94 / Improper Check for Unusual or Exceptional Conditions CWE-754 / Improper Input Validation CWE-20 / Use of Low-Level Functionality CWE-695 / Improper Privilege Management CWE-269 / External Control of System...

9.4CVSS6AI score0.00203EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2023/02/07 12:00 p.m.•52 views

RUSTSEC-2023-0010 Double free after calling `PEM_read_bio_ex`

The function PEMreadbioex reads a PEM file from a BIO and parses and decodes the "name" e.g. "CERTIFICATE", any header data and the payload data. If the function succeeds then the "nameout", "header" and "data" arguments are populated with pointers to buffers containing the relevant decoded data...

7.5CVSS7.9AI score0.2859EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2021/10/17 12:00 p.m.•52 views

RUSTSEC-2021-0120 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.5CVSS7.2AI score0.00972EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2020/11/02 12:00 p.m.•52 views

RUSTSEC-2020-0145 Use-after-free when cloning a partially consumed `Vec` iterator

The IntoIter Clone implementation clones the whole underlying Vec. If the iterator is partially consumed the consumed items will be copied, thus creating a use-after-free access. A proof of concept is available in the original bug report...

7.5CVSS7.4AI score0.01233EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2026/06/29 12:00 p.m.•51 views

RUSTSEC-2026-0194 Quadratic run time when checking a start tag for duplicate attribute names

BytesStart::attributes returns an Attributes iterator which, by default withcheckstrue, rejects a start tag that repeats an attribute name. For each attribute yielded, the iterator compared the new name against every name seen so far in the same tag using a linear scan, so a start tag with N...

7.5CVSS5.9AI score
SaveExploits0References5
osv_rustsec
osv_rustsec
•added 2026/06/10 12:00 p.m.•51 views

RUSTSEC-2026-0175 `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
SaveExploits0References2
osv_rustsec
osv_rustsec
•added 2021/11/16 12:00 p.m.•51 views

RUSTSEC-2021-0124 Data race when sending and receiving after closing a `oneshot` channel

If a tokio::sync::oneshot channel is closed via the oneshot::Receiver::close method, a data race may occur if the oneshot::Sender::send method is called while the corresponding oneshot::Receiver is awaited or calling tryrecv. When these methods are called concurrently on a closed channel, the two...

8.1CVSS8AI score0.01152EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2021/09/24 12:00 p.m.•51 views

RUSTSEC-2021-0115 `#[zeroize(drop)]` doesn't implement `Drop` for `enum`s

Affected versions of this crate did not implement Drop when zeroizedrop was used on an enum. This can result in memory not being zeroed out after dropping it, which is exactly what is intended when adding this attribute. The flaw was corrected in version 1.2 and zeroizedrop on enums now properly...

9.8CVSS9.4AI score0.01191EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2021/07/07 12:00 p.m.•51 views

RUSTSEC-2021-0078 Lenient `hyper` header parsing of `Content-Length` could allow request smuggling

hyper's HTTP header parser accepted, according to RFC 7230, illegal contents inside Content-Length headers. Due to this, upstream HTTP proxies that ignore the header may still forward them along if it chooses to ignore the error. To be vulnerable, hyper must be used as an HTTP/1 server and using ...

5.3CVSS5AI score0.01126EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2021/05/01 12:00 p.m.•51 views

RUSTSEC-2021-0058 Null pointer deref in `X509_issuer_and_serial_hash()`

The OpenSSL public API function X509issuerandserialhash attempts to create a unique hash value based on the issuer and serial number data contained within an X509 certificate. However it fails to correctly handle any errors that may occur while parsing the issuer field which might occur if the...

5.9CVSS6.5AI score0.0741EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2021/03/18 12:00 p.m.•51 views

RUSTSEC-2021-0041 Denial of service through parsing payloads with too big exponent

The parseduration::parse function allows for parsing duration strings with exponents like 5e5s where under the hood, the BigInt type along with the pow function are used for such payloads. Passing an arbitrarily big exponent makes the parseduration::parse function to process the payload for a ver...

7.5CVSS7.3AI score0.00981EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2021/01/26 12:00 p.m.•51 views

RUSTSEC-2021-0014 Record::read : Custom `Read` on uninitialized buffer may cause UB

Affected versions of this crate passes an uninitialized buffer to a user-provided Read implementation. Record::read 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...

7.5CVSS7.4AI score0.01498EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2020/01/16 12:00 p.m.•51 views

RUSTSEC-2020-0002 Parsing a specially crafted message can result in a stack overflow

Affected versions of this crate contained a bug in which decoding untrusted input could overflow the stack. On architectures with stack probes like x86, this can be used for denial of service attacks, while on architectures without stack probes like ARM overflowing the stack is unsound and can...

9.8CVSS8.3AI score0.03401EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2019/08/25 12:00 p.m.•51 views

RUSTSEC-2019-0019 HMAC-BLAKE2 algorithms compute incorrect results

When used in conjunction with the Hash-based Message Authentication Code HMAC, the BLAKE2b and BLAKE2s implementations in blake2 crate versions prior to v0.8.1 used an incorrect block size 32-bytes instead of 64-bytes for BLAKE2s, and 64-bytes instead of 128-bytes for BLAKE2b, causing them to...

9.8CVSS9.6AI score0.00933EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2019/08/21 12:00 p.m.•51 views

RUSTSEC-2019-0014 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.8CVSS9.6AI score0.02478EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2019/05/21 12:00 p.m.•51 views

RUSTSEC-2019-0015 Flaw in generativity allows out-of-bounds access

Affected versions of this crate did not properly implement the generativity, because the invariant lifetimes were not necessarily dropped. This allows an attacker to mix up two arenas, using indices created from one arena with another one. This might lead to an out-of-bounds read or write access...

9.8CVSS9.4AI score0.01855EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2018/08/25 12:00 p.m.•51 views

RUSTSEC-2018-0004 Malicious input could cause uninitialized memory to be exposed

Affected versions of Claxon made an invalid assumption about the decode buffer size being a multiple of a value read from the bitstream. This could cause parts of the decode buffer to not be overwritten. If the decode buffer was newly allocated and uninitialized, this uninitialized memory could b...

6.5CVSS6.5AI score0.01372EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2026/05/12 12:00 p.m.•50 views

RUSTSEC-2026-0253 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.7AI score
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2023/09/21 12:00 p.m.•50 views

RUSTSEC-2023-0063 Denial of service in Quinn servers

Receiving QUIC frames containing a frame with unknown frame type could lead to a panic. Unfortunately this is issue was not found by our fuzzing infrastructure. Thanks to the QUIC Tester research group for reporting this issue...

7.5CVSS7.3AI score0.00937EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2022/11/10 12:00 p.m.•50 views

RUSTSEC-2022-0075 Bug in pooling instance allocator

bug in Wasmtime's implementation of its pooling instance allocator where when a linear memory is reused for another instance the initial heap snapshot of the prior instance can be visible, erroneously to the next instance. Mitigations are described here...

8.6CVSS8.4AI score0.00754EPSS
SaveExploits0References5
osv_rustsec
osv_rustsec
•added 2021/02/24 12:00 p.m.•50 views

RUSTSEC-2021-0050 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.3CVSS7.2AI score0.009EPSS
SaveExploits2References3
osv_rustsec
osv_rustsec
•added 2020/12/10 12:00 p.m.•50 views

RUSTSEC-2020-0097 Soundness issue with base::Error

base::Error type contains public field named ptr. With this definition, it is possible to create a base::Error with an invalid pointer and trigger memory safety errors such as use-after-free or double-free with safe Rust. The users of xcb crate are advised not to manipulate the field...

5.5CVSS5.5AI score0.00406EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2020/11/10 12:00 p.m.•50 views

RUSTSEC-2020-0138 ReaderResult should be bounded by Sync

Affected versions of this crate implements Sync for ReaderResult with the trait bound T: Send, E: Send. Since matching on the public enum ReaderResult provides access to &T & &E, allowing data race to a non-Sync type T or E. This can result in a memory corruption when multiple threads concurrentl...

8.1CVSS8.2AI score0.00833EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2018/06/15 12:00 p.m.•50 views

RUSTSEC-2018-0021 Use-after-free with objects returned by `Stream`'s `get_format_info` and `get_context` methods

Affected versions contained a pair of use-after-free issues with the objects returned by the getformatinfo and getcontext methods of Stream objects. These objects were mistakenly being constructed without setting an important flag to prevent destruction of the underlying C objects they reference...

7.5CVSS7.4AI score0.01328EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2026/06/02 12:00 p.m.•49 views

RUSTSEC-2026-0155 `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
SaveExploits0References2
osv_rustsec
osv_rustsec
•added 2023/02/20 12:00 p.m.•49 views

RUSTSEC-2023-0043 ftp is unmaintained, use suppaftp instead

The ftp crate is not maintained any more; use suppaftp instead...

7.2AI score
SaveExploits0References5
osv_rustsec
osv_rustsec
•added 2021/03/03 12:00 p.m.•49 views

RUSTSEC-2021-0036 Intern<T>: Data race allowed on T

Affected versions of this crate unconditionally implements Sync for Intern. This allows users to create data race on T: !Sync, which may lead to undefined behavior for example, memory corruption. The flaw was corrected in commit 2928a87 by adding the trait bound T: Sync in the Sync impl of Intern...

9.8CVSS9.3AI score0.01295EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2020/12/18 12:00 p.m.•49 views

RUSTSEC-2020-0127 SyncRef's clone() and debug() allow data races

Affected versions of this crate unconditionally implement Sync for SyncRef. This definition allows data races if &T is accessible through &SyncRef. SyncRef derives Clone and Debug, and the default implementations of those traits access &T by invoking T::clone & T::fmt. It is possible to create da...

8.1CVSS8AI score0.01059EPSS
SaveExploits1References4
osv_rustsec
osv_rustsec
•added 2020/12/01 12:00 p.m.•49 views

RUSTSEC-2020-0094 Unsound: can make `ARefss` contain a !Send, !Sync object.

ARefss is a type that is assumed to contain objects that are Send + Sync. In the affected versions of this crate, Send/Sync traits are unconditionally implemented for ARefss. By using the ARefss::map API, we can insert a !Send or !Sync object into ARefss. After that, it is possible to create a da...

4.7CVSS4.6AI score0.00245EPSS
SaveExploits1References3
osv_rustsec
osv_rustsec
•added 2019/07/19 12:00 p.m.•49 views

RUSTSEC-2019-0012 Memory corruption in SmallVec::grow()

Attempting to call grow on a spilled SmallVec with a value less than the current capacity causes corruption of memory allocator data structures. An attacker that controls the value passed to grow may exploit this flaw to obtain memory contents or gain remote code execution. Credits to @ehuss for...

9.8CVSS8.8AI score0.02144EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2019/06/15 12:00 p.m.•49 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 2018/12/05 12:00 p.m.•49 views

RUSTSEC-2018-0008 Bug in SliceDeque::move_head_unchecked allows read of corrupted memory

Affected versions of this crate did not properly update the head and tail of the deque when inserting and removing elements from the front if, before insertion or removal, the tail of the deque was in the mirrored memory region, and if, after insertion or removal, the head of the deque is exactly...

9.8CVSS9.2AI score0.01611EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2018/10/09 12:00 p.m.•49 views

RUSTSEC-2018-0007 Stack overflow when parsing malicious DNS packet

There's a stack overflow leading to a crash when Trust-DNS's parses a malicious DNS packet. Affected versions of this crate did not properly handle parsing of DNS message compression RFC1035 section 4.1.4. The parser could be tricked into infinite loop when a compression offset pointed back to th...

7.5CVSS7.5AI score0.01411EPSS
SaveExploits0References2
osv_rustsec
osv_rustsec
•added 2017/05/03 12:00 p.m.•49 views

RUSTSEC-2017-0004 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.8CVSS9.8AI score0.01534EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2017/01/23 12:00 p.m.•49 views

RUSTSEC-2017-0002 headers containing newline characters can split messages

Serializing of headers to the socket did not filter the values for newline bytes \r or \n, which allowed for header values to split a request or response. People would not likely include newlines in the headers in their own applications, so the way for most people to exploit this is if an...

5.3CVSS5.1AI score0.01033EPSS
SaveExploits0References3
osv_rustsec
osv_rustsec
•added 2026/07/21 12:00 p.m.•48 views

RUSTSEC-2026-0213 XSS in ammonia via SVG `animate` and `set` animation tags

The following SVG will produce a link with a javascript scheme. If the user clicks this link, they will run it. xml Click set Ammonia did not apply attribute filters based on attributeName, so the contents of the to, from, and values tags were not sanitized as URLs. Applications that do not...

5.4CVSS5.9AI score0.00355EPSS
SaveExploits0References2
osv_rustsec
osv_rustsec
•added 2026/07/05 12:00 p.m.•48 views

RUSTSEC-2026-0200 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 with no upper bound. The height is take...

7.5CVSS5.8AI score0.00609EPSS
SaveExploits0References3
Total number of security vulnerabilities1310