1392 matches found
RUSTSEC-2026-0329 Auto-Reseeding HMAC-DRBG could panic for some output lengths
The automatically reseeding implementations of HMAC-DRBG would panic if called with a desired non-zero output length cleanly divisible by 65536, the maximum number of output bytes that can be generated before reseeding has to happen. Impact An application relying on libcrux-hmac-drgb to provide...
RUSTSEC-2026-0241 `nostr-keyring` is unmaintained
The nostr-keyring crate is no longer actively maintained...
RUSTSEC-2026-0224 Verification cache poisoning allows forged Nostr events to bypass signature validation
The nostr-relay-pool crate cached the result of event signature verification before the check was actually performed. Because the entry was inserted unconditionally, a first delivery whose signature failed was still recorded in the cache. A subsequent delivery of the same event identical ID, but...
RUSTSEC-2026-0229 NIP-98 authorization parsing permits resource exhaustion
The NIP-98 HTTP authorization parser Base64-decoded the complete authorization value and parsed the resulting JSON event without applying an application-level size limit. Both operations occurred before the event's signature and authorization fields could be validated. An unauthenticated remote...
RUSTSEC-2026-0226 Wallet event parsers accept unauthenticated events
The NIP-47 response and notification parsers and the NIP-60 wallet event parsers decrypted relay-provided events before verifying their kind, computed event ID, signature, and expected wallet public key. The decryption peer was derived from the untrusted event author, so successful decryption did...
RUSTSEC-2026-0227 NIP-44 v2 decryption permits resource exhaustion
The NIP-44 decryption entry point Base64-decoded the complete attacker-controlled payload before determining its version or enforcing any size limit. For v2 payloads, the decoded buffer was then authenticated with HMAC even when it was much larger than the maximum payload supported by the crate's...
RUSTSEC-2026-0225 Debug output exposes NIP-46 and NIP-60 credentials
Several NIP-46 and NIP-60 types used derived Debug implementations even though their fields contained credentials or decrypted application data. Formatting these values exposed NIP-46 connection secrets and request parameters, as well as NIP-60 private keys, Cashu bearer proofs, and quote...
RUSTSEC-2026-0228 NIP-04 parsing amplifies malformed ciphertext memory use
The NIP-04 decryption parser split attacker-controlled content on every ?iv= separator and collected all resulting segments before checking that the message had the expected two parts. It also Base64-decoded the complete IV text before checking that it represented the required 16-byte AES-CBC IV....
RUSTSEC-2026-0232 Processing of unverified relay events
The processed events received from a relay through admission-policy and database paths before verifying that the serialized fields matched the claimed event ID and signature. In particular, a database result for the claimed ID could cause verification to be skipped. The verification cache also...
RUSTSEC-2026-0231 Relay authentication challenges can exhaust memory
The SDK forwarded every NIP-42 AUTH challenge received from a relay through an unbounded command queue. Challenge handling can wait for an asynchronous signer or user interaction, so receiving challenges was substantially faster than completing the corresponding authentication work. A malicious...
RUSTSEC-2026-0230 Empty NIP-50 search filters can panic
The NIP-50 event-matching path searched event content with slice::windowssearch.len. An empty search string therefore called slice::windows0, which always panics instead of returning a match result. A remote client able to submit filters to an application using this matcher could trigger the pani...
RUSTSEC-2026-0222 Stores can mix up type indices between engines
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-hgjw-h833-99q9 For more information see the GitHub-hosted security advisory...
RUSTSEC-2026-0223 Preemption and traps during bulk operations enable breaking internal VM state
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-2hw9-mc66-jc2q For more information see the GitHub-hosted security advisory...
RUSTSEC-2026-0257 Unix `BROWSER` handling allows browser argument injection
On Unix platforms handled by src/unix.rs, affected versions substitute the caller-supplied URL into the BROWSER environment-variable template before tokenizing the resulting string with splitasciiwhitespace. If an application passes an attacker-controlled non-HTTPS URL whose parsed form retains...
RUSTSEC-2026-0219 Remote Denial of Service via malformed NIP-04 IV
The nostr crate did not validate the length of the initialization vector decoded from the ?iv= portion of a NIP-04 encrypted message. The decoded IV was converted from a byte slice to the 16-byte AES-CBC IV type using a conversion that asserts the slice length. As a result, an IV whose decoded...
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...
RUSTSEC-2026-0214 gumdrop is unmaintained
The gumdrop crate is unmaintained, and all versions are affected. Recommended alternatives: - clap is the most popular by far - bpaf is a more lightweight alternative...
RUSTSEC-2026-0215 smallstr is unmaintained
The smallstr crate is unmaintained, and all versions are affected. Recommended alternatives: - compactstr is the most popular by far - smolstr focuses on immutable strings...
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...
RUSTSEC-2026-0218 `Enum` trait allows type confusion when manually implemented
Affected versions of this crate did not require the element type of the Array associated type in the Enum trait to match the array's generic parameter V. This can result in type confusion, and consequently memory corruption, when a manual Enum implementation declares an Array whose elements are n...
RUSTSEC-2026-0210 `libcrux-aesgcm` Renamed to `libcrux-aes`
Crate libcrux-aesgcm was renamed to libcrux-aes and will no longer receive new versions under the name libcrux-aesgcm, with the final released version under that name being version 0.0.8. The original functionality is now provided in crate libcrux-aes, where development continues at version 0.0.9...
RUSTSEC-2026-0211 Non-constant time Authentication Tag Check in AES-GCM Decryption
AES-GCM decryption used an implementation for checking the provided authentication tag against the recomputed authentication tag that was intended to be constant-time, but resulted in non-constant-time code generation in certain circumstances. Note that libcrux-aesgcm does not give guarantees on...
RUSTSEC-2026-0221 `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...
RUSTSEC-2026-0206 `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...
RUSTSEC-2026-0220 Uint shift operations: incorrect overflow flags and truncated shift amounts
Uint::overflowingshl/overflowingshr returned false-negative overflow flags. overflowingshl missed bits shifted above BITS but within the top limb non-limb-aligned widths such as U160, and limbs wholly discarded by shifts = 64; overflowingshr missed wholly discarded low limbs. Shifted values were...
RUSTSEC-2026-0204 Invalid pointer dereference in `fmt::Pointer` impl for `Atomic` and `Shared` when the underlying pointer is invalid
Affected versions of fmt::Display dereference the underlying pointer. This causes a invalid pointer dereference e.g., when a pointer created with Atomic::null or Shared::null. fmt::Debug impls and pre-0.9 fmt::Display impls, which do not dereference pointers, are not affected by this issue...
RUSTSEC-2026-0205 `Array::insert` violates exception safety if compare function panics, leading to potential Double-Free
In affected versions of this crate, Array::insert is not exception safe. In the UPSERT path, key and value's snapshot is written to self.datablock, and after the insertion is completed, key and value are mem::forget in order to prevent double free. However, during the insertion, K::compare is...
RUSTSEC-2026-0203 `tree-sitter-perl-next` is unmaintained
The author of tree-sitter-perl-next has stated that the crate is unmaintained and will not receive further fixes see the repo's readme. Alternatives - ts-parser-perl , an actively maintained tree-sitter Perl grammar that tree-sitter-perl-next initially forked...
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...
RUSTSEC-2026-0202 `let_cxx_string!` uses uninitialized value due to exception safety violations
In affected versions of this crate, letcxxstring! is not exception safe. After creating the StackString, if match $value panics, the content of StackString is not yet initialized, while the drop implementation of StackString unconditionally deinitializes the content, leading to use of uninitializ...
RUSTSEC-2026-0201 Non-painting replaced elements amplify to thousands of blank PDF pages (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.26.0, a childless box that resolves to a pathologically tall height was amplified into thousands of blank PDF pages, even when it produces no visible output. The...
RUSTSEC-2026-0198 `Report::frames_mut` allows aliased mutable references
Affected versions of this crate return an iterator from Report::framesmut whose &mut Frame items have lifetimes independent of the iterator, so all yielded references can be held at the same time. A yielded frame's sources are also yielded by the iterator and reachable through the parent frame vi...
RUSTSEC-2026-0196 `cgmath` is unmaintained
The cgmath crate is no longer maintained. Users should consider switching to a maintained alternative...
RUSTSEC-2026-0193 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...
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...
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...
RUSTSEC-2026-0192 `ttf-parser` is unmaintained
The author of ttf-parser has stated that the crate is unmaintained and will not receive further fixes see the referenced issue. Alternatives - skrifa, an actively maintained TrueType and OpenType font parsing crate, part of the Google Fonts "oxidize" fontations project...
RUSTSEC-2026-0190 Unsoundness in `Error::downcast_mut()`
Affected versions of this crate violate borrow rules, resulting in undefined behavior, when the user adds context to an error via Error::context and then later calls Error::downcastmut on the returned Error. The flaw was corrected in commit 6e8c000 by revising how the mutable reference is...
RUSTSEC-2026-0188 WASI hard links and renames bypass wasmtime-wasi's FilePerms for destination
This is an entry in the RustSec database for the Wasmtime security advisory located at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-4ch3-9j33-3pmj For more information see the GitHub-hosted security advisory...
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...
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...
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...
RUSTSEC-2026-0199 Panic in `bcrypt::verify` on non-ASCII hash input
bcrypt::verifypassword, hash and HashParts::fromstrhash panic in str::sliceerrorfail when given a 60-byte &str containing a multi-byte UTF-8 character at certain byte positions. Impact Any Rust code that calls bcrypt::verify or HashParts::fromstr with an attacker-controlled hash string will panic...
RUSTSEC-2026-0217 Integer overflow in tract-nnef NNEF tensor parser leads to out-of-bounds read on model load
tractnnef::tensors::readtensor builds a tensor shape from attacker-controlled 32-bit dimensions and computes both the element count productshape and the byte allocation productshape sizeofdt with unchecked usize arithmetic. In release builds no overflow-checks both products wrap modulo 2^64. A...
RUSTSEC-2026-0182 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...
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...
RUSTSEC-2026-0179 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...
RUSTSEC-2026-0180 Panic decoding a malformed `hstore` value allows denial of service
A malicious or compromised server can return a binary hstore value with an invalid internal length field, causing the client to panic while decoding it. Applications that connect only to a trusted database are not exposed; the risk applies to clients that may connect to untrusted or user-supplied...
RUSTSEC-2026-0176 Out-of-bounds read in `nth` / `nth_back` for `PyList` and `PyTuple` iterators
PyO3 0.24.0 added optimized implementations of Iterator::nth and DoubleEndedIterator::nthback for the BoundListIterator and BoundTupleIterator types. These implementations computed the target index using unchecked usize addition index + n before bounds-checking against the sequence length, then...
RUSTSEC-2026-0177 Missing `Sync` bound on `PyCFunction::new_closure` closures
PyCFunction::newclosure and the temporary newclosurebound complement in the 0.21–0.22 series required the supplied closure to be Send + 'static but not Sync. The resulting PyCFunction is a Python callable that can be invoked from any Python thread, which means the closure may be called concurrent...