Lucene search
+L
RustSecMost viewed

1332 matches found

RustSec
RustSec
•added 2022/09/29 12:00 p.m.•43 views

matrix-sdk Impersonation of room keys

When the user receives a forwarded room key, the software accepts it without checking who the room key came from. This allows homeservers to try to insert room keys of questionable validity, potentially mounting an impersonation attack...

8.6CVSS4.6AI score0.0063EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/08 12:00 p.m.•43 views

Conversion from `prost_types::Timestamp` to `SystemTime` can cause an overflow and panic

Affected versions of this crate contained a bug in which untrusted input could cause an overflow and panic when converting a Timestamp to SystemTime. It is recommended to upgrade to prost-types v0.8 and switch the usage of From for SystemTime to TryFrom for SystemTime. See 438 for more informatio...

7.5CVSS3.6AI score0.01103EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/04/28 12:00 p.m.•43 views

Archives may contain uninitialized memory

rkyv is a serialization framework that writes struct-compatible memory to be stored or transmitted. During serialization, struct padding bytes and unused enum bytes may not be initialized. These bytes may be written to disk or sent over unsecured channels...

7.5CVSS2.3AI score0.01079EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/01/10 12:00 p.m.•43 views

panic safety issue in `impl TransformContent<S, D> for [S; (2|3|4)]`

Affected versions of this crate did not guard against double drop while temporarily duplicating objects' ownership using ptr::read. Upon panic in a user-provided function conversion, objects that are copied by ptr::read are dropped twice, leading to memory corruption. The flaw was corrected in...

7.5CVSS2.1AI score0.01343EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/10 12:00 p.m.•43 views

Double drop upon panic in 'fn map_array()'

Affected versions of this crate did not guard against panic within the user-provided function f 2nd parameter of fn maparray, and thus panic within f causes double drop of a single object. The flaw was corrected in the 0.4.0 release by wrapping the object vulnerable to a double drop within...

7.5CVSS2.5AI score0.01407EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/01/04 12:00 p.m.•43 views

EventList's From<EventList> conversions can double drop on panic.

Affected versions of this crate read from a container using ptr::read in From, and then call a user specified Into function. This issue can result in a double-free if the user provided function panics...

7.5CVSS2.9AI score0.01343EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/12/08 12:00 p.m.•43 views

ImageChunkMut needs bounds on its Send and Sync traits

In the affected versions of this crate, ImageChunkMut unconditionally implements Send and Sync, allowing to create data races. This can result in a memory corruption or undefined behavior when non thread-safe types are moved and referenced across thread boundaries. The flaw was corrected in commi...

7CVSS1.9AI score0.00348EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/11/24 12:00 p.m.•43 views

Cache<K>: Send/Sync impls needs trait bounds on `K`

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

8.1CVSS3.4AI score0.01098EPSS
SaveExploits1
RustSec
RustSec
•added 2020/11/02 12:00 p.m.•43 views

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.5CVSS2.3AI score0.01233EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/10/22 12:00 p.m.•43 views

MutexGuard::map can cause a data race in safe code

Affected versions of the crate had a Send/Sync implementation for MappedMutexGuard that only considered variance on T, while MappedMutexGuard dereferenced to U. This could of led to data races in safe Rust code when a closure used in MutexGuard::map returns U that is unrelated to T. The issue was...

4.7CVSS2.6AI score0.00264EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2019/07/19 12:00 p.m.•43 views

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
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/05/15 12:00 p.m.•43 views

Failure to properly verify ed25519 signatures makes any signature valid

Affected versions of this crate did not properly verify ed25519 signatures. Any signature with a correct length was considered valid. This allows an attacker to impersonate any node identity...

7.5CVSS4.7AI score0.00765EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2018/06/29 12:00 p.m.•43 views

Links in archives can overwrite any existing file

When unpacking a tarball with the unpackin-family of functions it's intended that only files within the specified directory are able to be written. Tarballs with hard links or symlinks, however, can be used to overwrite any file on the filesystem. Tarballs can contain multiple entries for the sam...

7.5CVSS0.2AI score0.01676EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2016/11/05 12:00 p.m.•43 views

SSL/TLS MitM vulnerability due to insecure defaults

All versions of rust-openssl prior to 0.9.0 contained numerous insecure defaults including off-by-default certificate verification and no API to perform hostname verification. Unless configured correctly by a developer, these defaults could allow an attacker to perform man-in-the-middle attacks...

8.1CVSS2.6AI score0.00745EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/08/09 12:00 p.m.•42 views

Streaming AEAD does not authenticate stream structure

In all published versions of dcrypt-symmetric before 2.0.0, version-1 GCM and ChaCha20-Poly1305 streams used unauthenticated terminator, counter, and length fields. Decryptors trusted transmitted counters, allocated from unbounded lengths, and discarded plaintext that did not fit a caller's singl...

5.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/07/13 12:00 p.m.•42 views

`event-listener` allows `!Send` tags to cross thread boundaries via `StackSlot`

Affected versions of event-listener unconditionally implement Send and Sync for StackSlot, the stack-allocated listener type created by the listener! macro. This allows a !Send tag type set via Event::withtag to be moved to another thread and accessed via StackSlot::wait, causing a data race in...

5.4AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/30 12:00 p.m.•42 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.3CVSS6.2AI score0.00554EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/29 12:00 p.m.•42 views

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

5.9AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/04/22 12:00 p.m.•42 views

Reachable panic in certificate revocation list parsing

A panic was reachable when parsing certificate revocation lists via BorrowedCertRevocationList::fromder or OwnedCertRevocationList::fromder. This was the result of mishandling a syntactically valid empty BIT STRING appearing in the onlySomeReasons element of a IssuingDistributionPoint CRL...

8.7CVSS7.2AI score0.00346EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2025/11/17 12:00 p.m.•42 views

cargo-asm crate is unmaintained

The cargo-asm crate is deprecated and no longer actively maintained. If you rely on this crate, consider switching to a recommended alternative. Recommended alternatives - cargo-show-asm...

6.9AI score
SaveExploits0
RustSec
RustSec
•added 2022/10/10 12:00 p.m.•42 views

Slack Webhooks secrets leak in debug logs

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

7.5CVSS2.4AI score0.00852EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/01/23 12:00 p.m.•42 views

Data race in `Iter` and `IterMut`

In the affected version of this crate, Iter, IterMut::next used a weaker memory ordering when loading values than what was required, exposing a potential data race when iterating over a ThreadLocal's values. Crates using Iter::next, or IterMut::next are affected by this issue...

4.2AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/07/08 12:00 p.m.•42 views

Incorrect handling of embedded SVG and MathML leads to mutation XSS

Affected versions of this crate did not account for namespace-related parsing differences between HTML, SVG, and MathML. Even if the svg and math elements are not allowed, the underlying HTML parser still treats them differently. Running cleanup without accounting for these differing namespaces...

6.1CVSS1.3AI score0.00708EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2021/02/17 12:00 p.m.•42 views

`Read` on uninitialized buffer may cause UB ('tectonic_xdv' crate)

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.6AI score0.0123EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/12/27 12:00 p.m.•42 views

`Read` on uninitialized buffer in `fill_buf()` and `read_up_to()`

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

4.2AI score
SaveExploits0
RustSec
RustSec
•added 2020/11/10 12:00 p.m.•42 views

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.1CVSS3AI score0.00766EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2020/11/10 12:00 p.m.•42 views

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.5CVSS3AI score0.01377EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/10/31 12:00 p.m.•42 views

GenericMutexGuard allows data races of non-Sync types across threads

GenericMutexGuard was given the Sync auto trait as long as T is Send due to its contained members. However, since the guard is supposed to represent an acquired lock and allows concurrent access to the underlying data from different threads, it should only be Sync when the underlying data is. Thi...

5.5CVSS1.8AI score0.00379EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/10/31 12:00 p.m.•42 views

AtomicOption should have Send + Sync bound on its type argument.

In the affected versions of this crate, AtomicOption unconditionally implements Sync. This allows programmers to move non-Sync types across thread boundaries e.g. Rc, Arc, which can lead to data races and undefined behavior. It is also possible to send non-Send types like std::sync::MutexGuard to...

5.9CVSS3.6AI score0.01121EPSS
SaveExploits1
RustSec
RustSec
•added 2020/09/04 12:00 p.m.•42 views

futures_task::waker may cause a use-after-free if used on a type that isn't 'static

Affected versions of the crate did not properly implement a 'static lifetime bound on the waker function. This resulted in a use-after-free if Waker::wake is called after original data had been dropped. The flaw was corrected by adding 'static lifetime bound to the data waker takes...

7.8CVSS3.6AI score0.00499EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/05/02 12:00 p.m.•42 views

failure is officially deprecated/unmaintained

The failure crate is officially end-of-life: it has been marked as deprecated by the former maintainer, who has announced that there will be no updates or maintenance work on it going forward. The following are some suggested actively developed alternatives to switch to: - anyhow - eyre - fehler ...

2.7AI score
SaveExploits0
RustSec
RustSec
•added 2020/03/19 12:00 p.m.•42 views

Flaw in hyper allows request smuggling by sending a body in GET requests

Vulnerable versions of hyper allow GET requests to have bodies, even if there is no Transfer-Encoding or Content-Length header. As per the HTTP 1.1 specification, such requests do not have bodies, so the body will be interpreted as a separate HTTP request. This allows an attacker who can control...

9.8CVSS2.2AI score0.02974EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/08/25 12:00 p.m.•42 views

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.8CVSS2.9AI score0.00933EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/08/24 12:00 p.m.•42 views

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.5CVSS2.1AI score0.01547EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2018/12/22 12:00 p.m.•42 views

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.5CVSS3.3AI score0.01001EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2018/10/09 12:00 p.m.•42 views

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.5CVSS3.6AI score0.01411EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/07/11 12:00 p.m.•41 views

`rustybuzz` is unmaintained

The current maintainer of rustybuzz has stated that the crate is unmaintained and will not receive further fixes or updates see the referenced issue. Alternatives - harfrust, an actively maintained and updated alternative which is part of the Harfbuzz project...

6.1AI score
SaveExploits0
RustSec
RustSec
•added 2026/06/05 12:00 p.m.•41 views

Possible use after free when deserializing a SQLite database via `SqliteConnection::deserialize_readonly_database`

Diesel allows loading a SQLite database from a byte buffer, represented as &u8, at runtime via the SqliteConnection::deserializereadonlydatabase function. In previous versions of Diesel, this buffer was passed directly to libsqlite3. Since libsqlite3 requires the buffer to remain alive for as lon...

5.7AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2026/06/04 12:00 p.m.•41 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/03 12:00 p.m.•41 views

Incomplete message edit validation in matrix-sdk-ui

The message edit validation logic in the matrix-sdk-ui crate before 0.16.1 is missing a check: when replacing an encrypted event, the replacement event itself is not required to be encrypted. This enables a malicious homeserver administrator or an actor with equivalent power to impersonate or spo...

4.9CVSS5.8AI score0.00233EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2025/02/10 12:00 p.m.•41 views

cve-rs introduces memory vulnerabilities in safe Rust

This crate is a joke and should never be used. cve-rs provides demonstrations of common memory vulnerabilities such as buffer overflows and segfaults implemented completely within safe Rust. Internally, this crate does not use unsafe code, it instead exploits a soundness bug in rustc:...

7.4AI score
SaveExploits0
RustSec
RustSec
•added 2022/10/24 12:00 p.m.•41 views

matrix-sdk 0.6.0 logs access tokens

When sending Matrix requests using an affected version of matrix-sdk in an application that writes logs using tracing-subscriber in a way that includes fields of tracing spans such as tracingsubscribers default text output from the fmt module, these logs will contain the user's access token...

4.3AI score
SaveExploits0Affected Software1
RustSec
RustSec
•added 2022/05/03 12:00 p.m.•41 views

`OCSP_basic_verify` may incorrectly verify the response signing certificate

The function OCSPbasicverify verifies the signer certificate on an OCSP response. In the case where the non-default flag OCSPNOCHECKS is used then the response will be positive meaning a successful verification even in the case where the response signing certificate fails to verify. It is...

5.3CVSS1.5AI score0.02141EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/09/24 12:00 p.m.•41 views

`#[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.8CVSS3.7AI score0.0123EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/03/01 12:00 p.m.•41 views

Deserializing an array can drop uninitialized memory on panic

The readbytesdefaultle function for T; n arrays, used to deserialize arrays of T from bytes created a T; n array with std::mem::uninitialized and then called T's deserialization method. If T's deserialization method panicked, the uninitialized memory could drop invalid objects. This flaw was...

9.8CVSS2.7AI score0.01295EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2021/02/26 12:00 p.m.•41 views

Multiple functions can cause double-frees

The following functions in the crate are affected: IdMap::clonefrom The clonefrom implementation for IdMap drops the values present in the map and then begins cloning values from the other map. If a .clone call pancics, then the afformentioned dropped elements can be freed again. getorinsert...

9.8CVSS2.4AI score0.011EPSS
SaveExploits0
RustSec
RustSec
•added 2020/12/22 12:00 p.m.•41 views

`Demuxer` can carry non-Send types across thread boundaries

In the affected versions of this crate, Demuxer unconditionally implemented Send with no trait bounds on T. This allows sending a non-Send type T across thread boundaries, which can cause undefined behavior like unlocking a mutex from a thread that didn't lock the mutex, or memory corruption from...

5.9CVSS2.7AI score0.00811EPSS
SaveExploits1Affected Software1
RustSec
RustSec
•added 2020/09/03 12:00 p.m.•41 views

Obstack generates unaligned references

Obstack generates unaligned references for types that require a large alignment...

7.5CVSS2.3AI score0.01174EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/11/13 12:00 p.m.•41 views

Type confusion if __private_get_type_id__ is overridden

Safe Rust code can implement malfunctioning privategettypeid and cause type confusion when downcasting, which is an undefined behavior. Users who derive Fail trait are not affected...

9.8CVSS3.8AI score0.01535EPSS
SaveExploits0Affected Software1
RustSec
RustSec
•added 2019/10/11 12:00 p.m.•41 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
Total number of security vulnerabilities1332