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.
42 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-102268: Pem Detector Regex Requires Newline Key Confusioncve-2026-102268-pem-detector-regex-requires-newline-key-confusion

PEM/asymmetric-key material is recognized with a regex that mandates an escape-encoded line break (\r or \n) between the -----BEGIN and -----END markers. PEM parsers (e.g. the pyca/cryptography PEM loader) accept representations without LF-terminated marker lines (CR-only line endings, whitespace before '-----END', folded single-line form), so this recognize

by Provallyupdated 2026-10-27Apache-2.0
510 direct51 via packs
downloads
74quality
CVE-2026-101086: Go Security Default Allow Denylist Switchcve-2026-101086-go-security-default-allow-denylist-switch

$FUNC implements a validation/authorization gate as a denylist: an enumerated set of values returns false and the switch default branch returns true, so every unlisted, unknown, or future value is accepted as valid. If the classified value shares an integer or type namespace with privileged operations (task types, message kinds, opcodes), an attacker can sub

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
82quality
CVE-2026-92958: Javascript Vm2 Builtin Denylist Exact Name Subpath Bypasscve-2026-92958-javascript-vm2-builtin-denylist-exact-name-subpath-bypass

Incomplete builtin denylist: the '*' wildcard expansion allow-gates each builtin with an exact-name deny test only (`-name` / `-node:name`). Node lists families and subpaths as separate builtinModules entries (`fs` vs `fs/promises`, `path` vs `path/posix`, `stream` vs `stream/web`), so a family token such as `-fs` removes only `fs` and leaves the real host `

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
CVE-2026-92952: Incomplete Nodejs Registered Symbol Denylistcve-2026-92952-incomplete-nodejs-registered-symbol-denylist

Cross-realm symbol guard $FUNC decides whether a property key is a dangerous Node internal solely by enumerating a fixed list of registered nodejs.* symbols (Symbol.for('nodejs.*')) instead of testing the reserved namespace with Symbol.keyFor(key). Registered nodejs.* symbols added by newer Node releases (e.g. nodejs.stream.disturbed / nodejs.stream.errored

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
84quality
CVE-2026-92935: Javascript Weak Object Type Guard Config Validationcve-2026-92935-javascript-weak-object-type-guard-config-validation

Configuration is validated with only `typeof $OPT === 'object' && $OPT !== null` (or its De Morgan inverse `typeof $OPT !== 'object' || $OPT === null`), so arrays (`[]`), boxed primitives (`new String()`), and exotic instances (`new Date()`, `new Map()`) are accepted as "an explicit config object" even though they carry none of the expected option fields and

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
83quality
CVE-2026-92914: Php Auth Challenge Loose Equality Bypasscve-2026-92914-php-auth-challenge-loose-equality-bypass

Second-factor/challenge verification uses PHP loose equality (==) between the submitted response and a $_SESSION value. The session index is only created when a challenge is actually issued, so when no challenge exists it evaluates to NULL, and a request that omits (or empties) the response parameter is also NULL/'' PHP then evaluates NULL == NULL (or '' ==

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
81quality
CVE-2026-92395: Proxy Addr Ipv4 Mapped Subnet Bypasscve-2026-92395-proxy-addr-ipv4-mapped-subnet-bypass

Cross-family IP address conversion using `toIPv4MappedAddress()` without verifying that the target IPv6 subnet prefix length is at least 96 bits allows IPv4-mapped subnets with short prefix lengths (such as /8) to match all IPv4 addresses. This allows unauthenticated clients to bypass IP-based access control and spoof client IP addresses.

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
74quality
CVE-2026-86254: Wger Nullable Gym Id Comparisoncve-2026-86254-wger-nullable-gym-id-comparison

Direct comparison of `gym_id` between user profiles can bypass multi-tenant isolation when both users have `gym_id=None`. Use `is_same_gym()` or verify neither gym ID is None before comparing.

by Provallyupdated 2026-10-27Apache-2.0
510 direct51 via packs
downloads
73quality
CVE-2026-85184: Middie Absolute Url Middleware Bypasscve-2026-85184-middie-absolute-url-middleware-bypass

URL normalization for path-based matching does not account for absolute-form request targets (e.g., 'http://host/path'). This allows path-scoped middleware to be bypassed when downstream routing strips the host and matches the path.

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
73quality
CVE-2026-84469: Json Schema Request Part Falsy Presence Checkcve-2026-84469-json-schema-request-part-falsy-presence-check

Request-part schema presence (body/headers/querystring/params/query) is tested with JavaScript truthiness instead of an explicit `undefined` check. JSON Schema (Draft 6+) defines the boolean `false` as a valid schema that rejects every instance, so a deny-all schema such as `body: false` evaluates falsy, the validation-compilation branch is skipped, no valid

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
85quality
CVE-2026-82855: Pulumi Policy Unanchored Urn Sibling Checkcve-2026-82855-pulumi-policy-unanchored-urn-sibling-check

Naive URN prefix matching using split('$')[0] and startsWith can lead to policy validation bypasses due to crafted resource names. Parse URN type hierarchies structurally and enforce property-level value bindings.

by Provallyupdated 2026-09-02Apache-2.0
1.5K0 direct1.5K via packs
downloads
72quality
CVE-2026-81701: Python Security Denylist Trust Decision Default Allowcve-2026-81701-python-security-denylist-trust-decision-default-allow

Trust predicate `$FUNC` fails open: its only rejection path is a positive membership test against a denylist constant (`$ITEM in $DENYLIST`), followed by an unconditional `return True`. Any value not on the denylist — an unknown/new name, a path with no directory component, or a casing variant on a case-sensitive filesystem — is trusted by default. When this

by Provallyupdated 2026-10-27Apache-2.0
510 direct51 via packs
downloads
83quality
CVE-2026-80227: Elixir Sql Unescaped Regex Whitespacecve-2026-80227-elixir-sql-unescaped-regex-whitespace

Unescaped regex escape sequence '\s' in SQL string fragment. In Elixir string literals, '\s' evaluates to a single space character (0x20) instead of the SQL regex whitespace class '\\s'. This causes REGEXP_REPLACE or regex operators to match only literal spaces rather than all whitespace characters.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
71quality
CVE-2026-75897: Joi Multiple Osd Custom Rule Overwritecve-2026-75897-joi-multiple-osd-custom-rule-overwrite

Multiple `osdCustom` validation rules are applied separately to the same schema instance. In Joi schema extensions, subsequent rules with the same name overwrite earlier rules rather than combining them, causing validation checks to be silently dropped. Consolidate validations into a single rule.

by Provallyupdated 2026-09-02Apache-2.0
1.5K0 direct1.5K via packs
downloads
74quality
CVE-2026-74886: Python Sandbox Desynced Import Denylistcve-2026-74886-python-sandbox-desynced-import-denylist

Hardcoded sandbox import deny-list does not block the file-access modules 'io'/'pathlib' (and 'os'). Sandboxed file access is typically enforced only by replacing builtins.open, so io.open() and pathlib.Path.* calls reach the real C-level open and bypass the sandbox, while a hand-maintained list drifts out of sync with the static analyzer's blocked-module li

by Provallyupdated 2026-10-27Apache-2.0
510 direct51 via packs
downloads
75quality
CVE-2026-67602: Phpipam Cache Check Missing Columncve-2026-67602-phpipam-cache-check-missing-column

Cache lookup or write in object fetch method keys cache using only table and value without scoping by query column or method identifier, which can cause cache key collisions across different query fields (e.g. ID vs authentication token).

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
72quality
CVE-2026-61794: Go Ineffective Regex Validation Loopcve-2026-61794-go-ineffective-regex-validation-loop

Ineffective regex validation: this loop compiles a fixed expression instead of the range value $V, so every iteration re-checks the same hard-coded regex and the other values collected in $REGEXES are never validated. A malformed regex can be accepted and persisted and may later reach regexp.MustCompile and panic the process (denial of service). Compile the

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
90quality
CVE-2026-59891: Insecure Dict Key Substring Matchcve-2026-59891-insecure-dict-key-substring-match

Using a substring match to find a dictionary key can lead to insecure matching (e.g., when checking hostnames, URLs or registry names), allowing an attacker to spoof configurations by registering a similar name (like an overlapping substring). Prefer exact matches (`===`) or proper parsing.

by Provallyupdated 2026-09-02Apache-2.0
1.5K0 direct1.5K via packs
downloads
70quality
CVE-2026-53583: Inverted Memcmp Match Checkcve-2026-53583-inverted-memcmp-match-check

Inverted `memcmp` comparison: `memcmp` returns 0 when buffers are equal and non-zero when they differ. Using `!!memcmp(...)` to set a match or validation flag treats mismatches as valid and matching data as invalid, which can lead to TLS certificate validation bypass.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
71quality
CVE-2026-53450: Ipv6 Mapped Ipv4 Misclassificationcve-2026-53450-ipv6-mapped-ipv4-misclassification

The code incorrectly checks for an IPv6 loopback literal (e.g., checking if byte 15 is 1) before checking whether the address is an IPv4-mapped IPv6 address. Mapped IPv4 loopback addresses (like `::ffff:127.0.0.1`) also end with a 1 (from `.1`) and will prematurely match the IPv6 literal check, failing loopback validation. Ensure `IN6_IS_ADDR_V4MAPPED` is ch

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
65quality
CVE-2026-49260: Escapeshellarg File Check Fallbackcve-2026-49260-escapeshellarg-file-check-fallback

Checking an `escapeshellarg` or `escapeshellcmd` escaped string with filesystem functions like `is_executable` or `file_exists` is logically flawed. The escaped string includes shell quote characters, causing the check to fail. If this failed check unexpectedly alters control flow (e.g., falling back to unescaped input), it can result in vulnerabilities like

by Provallyupdated 2026-06-23Apache-2.0
3.1K0 direct3.1K via packs
downloads
75quality
CVE-2026-48034: Pack Rules Ts Cwe 000 Cve 2026 48034cve-2026-48034-pack-rules-ts-cwe-000-cve-2026-48034

A security decision (policy exemption or trusted-relationship check) is made with an unanchored URN string comparison. Pulumi URN segments after the `$` delimiter (type tokens and logical names) are author-controlled by the IaC author, so `x.urn.includes(<type>$)` also matches a raw resource whose *logical name* embeds the trusted type token, and `x.urn.star

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
80quality
CVE-2026-46581: Inset Used For Boolean Option Checkcve-2026-46581-inset-used-for-boolean-option-check

Using `isSet()` to check a boolean configuration option or feature toggle checks parameter presence rather than its boolean value. If the parameter is set to 'false', `isSet()` returns true, leading to improper bypass of security controls. Use `isOptionEnabled()` or an equivalent boolean value accessor instead.

by Provallyupdated 2026-09-02Apache-2.0
1.4K0 direct1.4K via packs
downloads
69quality
24 of 42 loaded