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.
29 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-116178: Python Pydantic Unbounded Multimodal Range Fieldscve-2026-116178-python-pydantic-unbounded-multimodal-range-fields

Pydantic request model $MODEL declares range-geometry fields (offset / start / index / position, length / size) as plain `int` with no `Field(ge=...)` / `Field(gt=...)` constraint. When this schema validates remote request bodies, a client can supply negative offsets or zero/negative lengths that slip past downstream arithmetic bounds checks (Python negative

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
87quality
CVE-2026-114616: Hmac Key Validator Missing Empty Checkcve-2026-114616-hmac-key-validator-missing-empty-check

Key-material validator $CHECK_KEY() rejects malformed key formats (key material containing unsafe PEM/SSH markers) but never rejects empty key material. HMAC with a zero-length key is deterministic and publicly computable, so a secret that resolves to "" or b"" (missing/unset configuration, a JWK {"kty":"oct","k":""}, or a key callable returning "") lets an

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
87quality
CVE-2026-109380: Javascript Octal Field Missing Digit Validationcve-2026-109380-javascript-octal-field-missing-digit-validation

This octal field decoder accumulates bytes with `$V = $V * 8 + ($C - 48)` without first checking that each byte is an ASCII octal digit ('0'-'7' == 48-55). Bytes outside that range (e.g. '/', '8', '9', ':') are silently folded into the parsed number, so an attacker-supplied header field (such as a tar entry size) can decode to an attacker-influenced wrong va

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
86quality
CVE-2026-107212: Go Xml Row Index Without Limit Checkcve-2026-107212-go-xml-row-index-without-limit-check

A row number parsed from an untrusted worksheet XML attribute is written into the iterator's current-row state under a plain "$ROW != 0" guard, with no upper-bound check against the maximum row limit. A crafted worksheet that places an oversized row number after a valid row makes the iterator jump to the attacker-chosen row index and advance through every mi

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
84quality
CVE-2026-100654: Python Llm Stop Token Ids Missing Vocab Range Checkcve-2026-100654-python-llm-stop-token-ids-missing-vocab-range-check

Client-supplied token id list `$IDS` is validated only by type (`isinstance(..., int)`), with no range check against the model vocabulary. Stop-token ids are used as column indices into the vocab-wide logits tensor (min-tokens stop-token suppression logits processor; CUDA `index_put_` / subscript write). An id that is negative or >= vocab_size reaches that d

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
CVE-2026-100651: Python Security Unconditional Skip Flag Bypasses Role Specific Validationcve-2026-100651-python-security-unconditional-skip-flag-bypasses-role-specific-validation

$FUNC short-circuits on the skip flag `$SKIP` without scoping the skip to the role it was meant to exempt (`$ROLE`). The early return is guarded by the bare flag alone, so it suppresses every later check in $FUNC, including the validation keyed on the role discriminator, and inputs of the still-regulated role reach the engine unvalidated. Scope the early ret

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
79quality
CVE-2026-93592: Python Id Range Validation Missing Lower Boundcve-2026-93592-python-id-range-validation-missing-lower-bound

Range validation of caller-supplied id sequence $IDS only rejects values above an upper limit (max($IDS) > limit) and never rejects negative values. A negative id passes validation and is later used as an index (e.g. an embedding-table row); on GPU backends the out-of-range index raises a device-side assertion that poisons the accelerator context and fails e

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
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-77403: Amqp Peer Frame Size Negotiation Missing Protocol Minimumcve-2026-77403-amqp-peer-frame-size-negotiation-missing-protocol-minimum

The negotiated AMQP 0-9-1 frame size is taken straight from the peer-advertised connection.tune frame-max value (a bare pick()/min() selection, a numeric conversion, or a direct assignment) and stored into the connection frame-size configuration without ever enforcing the protocol minimum frame size (frameMinSize, 4096 bytes). A malicious or compromised brok

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
72quality
CVE-2026-75516: Java Amqp Negotiated Frame Max Sentinel Min Disables Inbound Capcve-2026-75516-java-amqp-negotiated-frame-max-sentinel-min-disables-inbound-cap

Inbound frame/size limit is computed with Math.min(configuredCap, negotiatedFrameMax) and handed directly to the framing layer. In AMQP 0-9-1 a negotiated limit of 0 is a sentinel meaning "no limit" (and the client default frame_max is 0), so Math.min returns 0 whenever the peer - a malicious broker or a MitM - negotiates frame_max=0. The framing layer then

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
80quality
CVE-2026-71562: Erlang Unbounded List To Integercve-2026-71562-erlang-unbounded-list-to-integer

Unbounded string passed to list_to_integer/1 can lead to excessive CPU consumption (DoS) when processing arbitrary-precision integers. Validate the string length before conversion.

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
57quality
CVE-2026-59696: Erlang Unbounded String To Integer Conversioncve-2026-59696-erlang-unbounded-string-to-integer-conversion

Unbounded port-to-integer conversion (availability/DoS). This clause belongs to a port-parsing function (clause-head name ends in `port`) and its body immediately converts a bare input variable with binary_to_integer/1 or list_to_integer/1 while the clause head carries no size guard, so a grammar-valid all-digit port field (RFC 3986 `port = *DIGIT`) of arbit

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
72quality
CVE-2026-55781: Ufs Parser Missing Upper Boundscve-2026-55781-ufs-parser-missing-upper-bounds

A UFS image parser validates fields like block size or fragment count against a lower root limit but fails to enforce an upper bound or proper structural consistency. Attackers can control descriptor inputs to provoke uncontrolled huge memory allocations, causing DoS or process termination.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
77quality
CVE-2026-55200: C Wire Length Decoded Lower Bound Onlycve-2026-55200-c-wire-length-decoded-lower-bound-only

Length $LEN is decoded from a wire/network buffer with a network-to-host conversion and is validated only against a lower bound. Without an upper-bound check before $LEN is folded into the packet/allocation-size arithmetic, an attacker-supplied huge length can make the size addition wrap, producing an undersized allocation and a heap out-of-bounds write when

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-54463: Ruby Varint Unbounded Accumulationcve-2026-54463-ruby-varint-unbounded-accumulation

Variable-length integers are accumulated from an input stream without validation. An attacker can send an endless stream of crafted bytes to cause a Denial of Service (DoS) via memory exhaustion as the integer grows iteratively. Ensure that the accumulated length is checked against a maximum limit immediately during parsing.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
74quality
CVE-2026-52131: Unvalidated Size Container Resizecve-2026-52131-unvalidated-size-container-resize

A size or length value read from an external source is passed directly to `resize()` on a container without validating it against maximum limits or available stream size. This can lead to excessive memory allocation, bad_alloc exceptions, reachable assertions, or denial of service.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
73quality
CVE-2026-48107: Unvalidated Decoded Count Collection Allocationcve-2026-48107-unvalidated-decoded-count-collection-allocation

A count decoded from untrusted input ($N) sizes a collection via Vec::with_capacity/String::with_capacity without first being validated against the data actually available in the input. A malicious peer can send an inflated count (e.g. u32::MAX) in a single short packet, making the process request an enormous allocation whose failure aborts the process (remo

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
84quality
CVE-2026-45799: Kotlin Protobuf Varint Negative Lengthcve-2026-45799-kotlin-protobuf-varint-negative-length

Missing validation that length-delimited field length is non-negative before skipping. A crafted protobuf message with a negative payload length can crash the parser or corrupt internal position state, causing Denial of Service (DoS).

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
70quality
CVE-2026-41677: Rust Openssl Passwd Cb Missing Length Bounds Checkcve-2026-41677-rust-openssl-passwd-cb-missing-length-bounds-check

Password callback FFI trampoline forwards the user closure's returned `usize` length to OpenSSL as `c_int` without checking that it does not exceed the buffer `size` parameter that OpenSSL passed in. A user closure that returns a value larger than `size` (e.g. mistaking the length of an external secret for the number of bytes written) causes OpenSSL 1.1.x /

by Provallyupdated 2026-06-12Apache-2.0
3.6K0 direct3.6K via packs
downloads
87quality
CVE-2026-35369: Custom Cli Arg Parsing Off By Onecve-2026-35369-custom-cli-arg-parsing-off-by-one

Validation of `Vec<String>` argument length uses `> 2` instead of `>= 2` before extracting an element at index 1. This off-by-one error causes the argument to be skipped entirely when exactly 2 items are present (the command and a single argument), potentially leading to logic bypass or argument type confusion.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
74quality
CVE-2026-33816: Function Call Go Cwe 000 Cve 2026 33816cve-2026-33816-function-call-go-cwe-000-cve-2026-33816

A 4-byte wire-protocol length/count is read with binary.BigEndian.Uint32(...) and only widened with plain int(...) before it is used as a slice bound ($BUF[$X : $X + $N], $BUF[$N:] or $BUF[:$N]). Unsigned widening makes the value never negative, so the protocol's -1 NULL sentinel check can never match the real NULL encoding (0xFFFFFFFF) and no negative-lengt

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
24 of 29 loaded