Explore

Rule Explorer

Search the public rule index by CVE, GHSA, CWE, language, framework, author, or rule slug. Filter by language, framework, severity, confidence, license, and validation status.

Public rules
6965
Downloads
12.9M
Verified
6965
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
39 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-116816: Cpp Unvalidated Hex Parse Used As Array Indexcve-2026-116816-cpp-unvalidated-hex-parse-used-as-array-index

A value parsed by std::stoi()/std::stol()/std::stoll() with base 16 is used as an array or container index without validating the parsed characters with std::isxdigit. Base-16 std::stoi() accepts a leading '-' sign and throws std::invalid_argument on non-hex characters, so attacker-controlled text shaped like "<0xXX>" but containing a sign or non-hex charact

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
79quality
CVE-2026-115385: Rust Panicking Duration Since Unix Epoch Unwrapcve-2026-115385-rust-panicking-duration-since-unix-epoch-unwrap

Unhandled Err from $TIME.duration_since($EPOCH): duration_since() returns Err(SystemTimeError) whenever the timestamp precedes 1970-01-01, so the .unwrap()/.expect() here panics on pre-epoch (negative-seconds) values. If the timestamp is attacker-influenced (e.g. a guest-supplied file time later applied with futimens/utimensat), the panic escapes the host-ca

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
82quality
CVE-2026-114102: Node Zlib Decompress Stream Missing Error Listenercve-2026-114102-node-zlib-decompress-stream-missing-error-listener

This zlib decompression stream ($STREAM) is created but never given an "error" listener before being fed compressed data. zlib emits "error" asynchronously on a later tick (e.g. Z_DATA_ERROR on malformed DEFLATE bytes, or the maxOutputLength cap being exceeded); per Node.js EventEmitter semantics an "error" event with zero listeners is thrown, and because it

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
83quality
CVE-2026-113872: Javascript Node Eventemitter Removealllisteners Without Error Handlercve-2026-113872-javascript-node-eventemitter-removealllisteners-without-error-handler

EventEmitter#removeAllListeners() also removes the 'error' handler. If this emitter (e.g. a parsing stream) can still emit afterwards — because a deferred callback resumes it or its finalization completes asynchronously — Node raises an unhandled 'error' event, which is thrown as an uncaught exception and terminates the whole process (a single request can cr

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
80quality
CVE-2026-111181: Javascript Node Zlib Decompression Stream Unhandled Errorcve-2026-111181-javascript-node-zlib-decompression-stream-unhandled-error

A request stream is piped into a zlib/brotli/zstd decompression stream that never gets an 'error' listener and is never detached/destroyed after the body is read. Trailing bytes appended after one complete compressed frame reach the already-finished decoder and emit an 'error' with no listener, which Node re-throws as an uncaught exception and kills the proc

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
80quality
CVE-2026-109363: Zcash Tx Deserialize Missing Version Branchid Checkcve-2026-109363-zcash-tx-deserialize-missing-version-branchid-check

Transaction deserialization via zcash_primitives Transaction::read accepts wire bytes selected by nConsensusBranchId without validating that the parsed transaction version is compatible with that branch ID. A transaction version introduced at a later network upgrade (e.g. V6 at NU6.3) parsed with an older/unmapped branch ID can select bundle encodings the co

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-109350: Rust Checked Sub Panic On Untrusted Record Fieldcve-2026-109350-rust-checked-sub-panic-on-untrusted-record-field

A field of a record decoded from the untrusted pack stream (e.g. an entry's running pack_offset) is fed to checked_sub() together with a plain parsed value (e.g. the OFS_DELTA base_distance varint read from a served thin pack), and the None case is escalated into a process-aborting panic with expect()/unwrap() instead of being validated against a boundary (b

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-109338: Rust Header Value To Str Panic On Non Asciicve-2026-109338-rust-header-value-to-str-panic-on-non-ascii

`$VAL.to_str()` is unwrapped with a panicking combinator, asserting that the header value is entirely visible ASCII. HTTP header values are opaque bytes (RFC 9110): `HeaderValue::from_bytes` accepts non-ASCII bytes (0x80-0xFF) that `to_str()` rejects, and values pulled from a fetched response's HeaderMap (or stored from script input via `from_bytes`) carry w

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
84quality
CVE-2026-107214: Go Crypto Cbc Decrypter Without Length Validationcve-2026-107214-go-crypto-cbc-decrypter-without-length-validation

CBC decryption via cipher.NewCBCDecrypter(...).CryptBlocks(...) is performed without checking that the initialization vector length equals the cipher block size and that the ciphertext length is a multiple of the block size. Go's crypto/cipher panics on either violation ("IV length must equal block size" / "input not full blocks"), so attacker-controlled doc

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
86quality
CVE-2026-106122: Java Amqp Shortstr Unvalidated Utf8 Decodecve-2026-106122-java-amqp-shortstr-unvalidated-utf8-decode

A length-delimited wire field (1-byte length prefix, max 255 raw bytes) is decoded with new String(bytes, UTF_8) and returned without re-validating its encoded length. Java's UTF-8 decoder uses REPLACE semantics, so every malformed byte sequence becomes U+FFFD, which is 3 bytes when re-encoded; a 255-byte malformed value can therefore re-encode to ~765 bytes

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
80quality
CVE-2026-102272: Python Hmac Key Jwk Guard Incomplete Json Exception Handlingcve-2026-102272-python-hmac-key-jwk-guard-incomplete-json-exception-handling

The JWK-shape guard around raw key material parses the key with json.loads but only catches ValueError. Any other parse failure (e.g. RecursionError on deeply nested JSON, or un-normalized Unicode byte-order marks / alternate encodings that fail to decode) escapes the guard, so JWK-shaped key material is never rejected and falls through to be used directly a

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
87quality
CVE-2026-92954: Vm2 Bridge Host Promise Unhandled At Apply Boundarycve-2026-92954-vm2-bridge-host-promise-unhandled-at-apply-boundary

The sandbox->host Proxy apply trap hands a host function's return value to the sandbox via thisFromOther($RET) without first marking the value as handled at the boundary. When a host function returns a rejected host-realm Promise (an embedder async function, Promise.reject, events.once, ...) and sandbox code ignores the result (no .then/.catch/.finally), the

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
87quality
CVE-2026-88411: C Payload Deserializer Process Exit On Invalid Inputcve-2026-88411-c-payload-deserializer-process-exit-on-invalid-input

$FUNC terminates the whole process with exit($STATUS) when it rejects bytes deserialized from an in-memory payload (fmemopen'd buffer / FILE* stream). In a Redis module this code is reachable with attacker-controlled bytes via module commands (e.g. GRAPH.EFFECT), so one malformed payload kills the server instead of reporting an error; after a supervised rest

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
79quality
CVE-2026-85024: Js Node Stream Removealllisteners Without Destroycve-2026-85024-js-node-stream-removealllisteners-without-destroy

removeAllListeners() detaches every listener from this stream, including the 'error' listener, while the stream itself is left running. If the stream still holds buffered input (or receives more bytes from a remote peer) it can emit 'error' with no listener attached; Node.js escalates an 'error' event with no listener into an uncaught exception and terminate

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
80quality
CVE-2026-85014: Js Writablestream Abort Unhandled Rejectioncve-2026-85014-js-writablestream-abort-unhandled-rejection

abort() is called on a WHATWG WritableStream ($WS) and the returned promise is discarded. Per the WHATWG Streams standard, WritableStream.abort() returns a promise that rejects with a TypeError whenever the stream is locked by a writer (writable.getWriter(), the only way applications can write). Discarding that rejection produces an unhandled promise rejecti

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
87quality
CVE-2026-82410: Go Errgroup Unhandled Paniccve-2026-82410-go-errgroup-unhandled-panic

Goroutine executed via errgroup.Group.Go without panic recovery. Panics occurring in child goroutines bypass top-level HTTP recovery middleware and terminate the entire server process, leading to Denial of Service.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
70quality
CVE-2026-81633: Elixir Graphql Resolver Crashing Map Lookup On Client Keycve-2026-81633-elixir-graphql-resolver-crashing-map-lookup-on-client-key

A value derived from client-supplied GraphQL resolution arguments is passed to Map.fetch!/2, which raises an unhandled KeyError when the key is absent (e.g. a forged relay/global id whose type segment is not an exposed type). The exception escapes the resolver before any delegated resolve/2 rescue handler runs, so the client gets a 500 and possibly a stacktr

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
87quality
CVE-2026-79775: Unhandled Squashfs Read Paniccve-2026-79775-unhandled-squashfs-read-panic

Calls to squashfs.Read on potentially untrusted squashfs images without panic recovery can cause a denial of service if malformed image headers trigger runtime panics in go-diskfs.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
73quality
CVE-2026-77781: Perl Unguarded Dynamic Regex Compilationcve-2026-77781-perl-unguarded-dynamic-regex-compilation

Dynamic regular expression compilation with 'qr/$var/' without an enclosing 'eval' block can throw a fatal exception if the variable contains invalid regex syntax, causing a denial of service.

by Provallyupdated 2026-09-02Apache-2.0
1.5K0 direct1.5K via packs
downloads
65quality
CVE-2026-77412: Go Unvalidated Signed Wire Length Makecve-2026-77412-go-unvalidated-signed-wire-length-make

A length prefix is read from an untrusted byte stream with encoding/binary.Read into a signed integer and passed to make() without checking that it is non-negative. Attacker controlled bytes with the sign bit set (e.g. 0xFFFFFFFF) decode to a negative int (e.g. -1), and make() panics with "len out of range". The panic is unrecovered on the network reader gor

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-77375: Go Unbounded Constant Offset Slice Of Client Payloadcve-2026-77375-go-unbounded-constant-offset-slice-of-client-payload

The peer-supplied protocol payload `$P` is sliced/indexed at a fixed offset ($K) without validating its length. The peer controls the payload size, so a malformed or truncated message makes this expression panic with "slice bounds out of range"; when it runs in a goroutine without a recover(), the whole process terminates (CVE-2026-77375: an authenticated SS

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
80quality
CVE-2026-77078: Javascript Unguarded Attacker Key Append In Event Listenercve-2026-77078-javascript-unguarded-attacker-key-append-in-event-listener

An attacker-controlled field name ($NAME) received from a form/multipart event handler is passed to an append-style helper ($APPEND) without any exception handling. Helpers with this API parse bracketed keys (e.g. "items[4294967294]") into object paths and array indexes, and a crafted name pair can make the call throw synchronously (RangeError: Invalid array

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
84quality
CVE-2026-71360: Rust Infallible From Conversion Panicscve-2026-71360-rust-infallible-from-conversion-panics

Infallible `From` conversion from a date/time type `$IN` into `$OUT` panics on a fallible date/time conversion: `.expect()`/`.unwrap()` aborts the entire process when the underlying conversion fails for an out-of-range input (e.g. a timestamp outside the supported range, such as a pre-1970 signing time taken from an unauthenticated timestamp token). A `From`

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
78quality
CVE-2026-62985: Sync Throw In Http Agent Createconnectioncve-2026-62985-sync-throw-in-http-agent-createconnection

Synchronous `throw` of a connection error inside createConnection() of an http(s).Agent subclass. Node calls agent.createConnection() synchronously from the ClientRequest constructor (agent.addRequest -> createSocket -> createConnection) without a try/catch and expects connection failures to be reported asynchronously: by returning a socket that emits 'error

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
87quality
24 of 39 loaded