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
4797
Downloads
7.4M
Verified
4797
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
37 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-78654: Prototype Pollution Reflect Has Deep Mergecve-2026-78654-prototype-pollution-reflect-has-deep-merge

Detected `Reflect.has` used inside a recursive object merge function. `Reflect.has` traverses the prototype chain, which allows special keys like `__proto__` to be recognized as existing properties and traversed recursively, leading to Prototype Pollution. Use `Object.hasOwn()` and reject keys such as `__proto__`, `constructor`, and `prototype`.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
72quality
CVE-2026-73647: Javascript Prototype Pollution Unfiltered For Incve-2026-73647-javascript-prototype-pollution-unfiltered-for-in

Property iteration using a for-in loop writes properties to a target object without validating or skipping '__proto__'. This can lead to prototype pollution when extending or merging user-controlled objects.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
77quality
CVE-2026-71437: Prototype Pollution Nested Object Assignmentcve-2026-71437-prototype-pollution-nested-object-assignment

Dynamically initializing and indexing nested object properties using unvalidated keys can lead to prototype pollution if a key equals `__proto__` or `constructor`. Use `Map`, `Object.create(null)`, or sanitize property keys.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
76quality
CVE-2026-59724: Engine Unsafe Prototype Lookup Doscve-2026-59724-engine-unsafe-prototype-lookup-dos

Object property lookup using an unvalidated key allows built-in prototype properties (e.g., `__proto__`) to bypass simple truthiness checks. If the resolved inherited object is used improperly, this can lead to unhandled exceptions and Denial of Service (DoS). Validate that the property exists directly on the object using `Object.hasOwn()`, `.hasOwnProperty.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
76quality
CVE-2026-55091: Flat To Nested Proto Pollutioncve-2026-55091-flat-to-nested-proto-pollution

A plain object `{}` is used as a dictionary map for objects from an array, with a key derived directly from the object's properties. If the key is controlled by an attacker (e.g., `__proto__`), this can lead to Prototype Pollution. Use `Object.create(null)` to safely store items without inheriting from `Object.prototype`.

by Provallyupdated 2026-06-23Apache-2.0
2.1K0 direct2.1K via packs
downloads
76quality
CVE-2026-48795: Adonisjs Bodyparser Prototype Pollution Plain Objectcve-2026-48795-adonisjs-bodyparser-prototype-pollution-plain-object

Class field initialized as a plain object literal ({}) inherits from Object.prototype and is vulnerable to prototype pollution when modified with path-setting utilities like lodash.set. Use Object.create(null) to create a prototype-less object.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
77quality
CVE-2026-48713: Path Traversal Prototype Pollutioncve-2026-48713-path-traversal-prototype-pollution

Unrestricted object property traversal using unvalidated user input path segments can lead to prototype pollution. If the traversal visits `__proto__`, it can return or modify the global object prototype. Ensure path segments are checked against unsafe keys like `__proto__`, `constructor`, and `prototype`.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
73quality
CVE-2026-48170: Unsanitized Path Split Prototype Pollutioncve-2026-48170-unsanitized-path-split-prototype-pollution

Path segments derived from splitting a path string are returned without validating against dangerous property names like '__proto__', 'constructor', or 'prototype'. This can enable prototype pollution when the segments are used to access or modify object properties.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
77quality
CVE-2026-46510: Prototype Pollution Via In Operatorcve-2026-46510-prototype-pollution-via-in-operator

Checking property existence with the `in` operator can lead to prototype pollution when dealing with user-controlled keys. The `in` operator traverses the prototype chain and evaluates to true for internal properties like `__proto__` and `constructor`. If the property is then extracted and modified, it can pollute the global object prototype. Replace `in` wi

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
73quality
CVE-2026-35209: Object Assign Prototype Hijackcve-2026-35209-object-assign-prototype-hijack

Cloning objects with `Object.assign({}, ...)` can lead to local prototype pollution if an input argument contains a malicious `__proto__` property (such as from parsed JSON). `Object.assign` invokes the `__proto__` setter on the new empty target object, altering its prototype chain. When this cloned object is subsequently merged, iterated via `for...in`, or

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
73quality
CVE-2026-33994: Js Prototype Pollution Regex Test Guardcve-2026-33994-js-prototype-pollution-regex-test-guard

Using `RegExp.prototype.test` against a regex containing `__proto__`, `constructor`, or `prototype` as a prototype-pollution guard is bypassable. `RegExp.prototype.test` is a writable prototype method; an attacker that can override it (via another gadget in the same realm) can force the guard to return `false` and re-enable `Object.prototype` pollution throu

by Provallyupdated 2026-06-12Apache-2.0
2.6K0 direct2.6K via packs
downloads
81quality
CVE-2026-33228: Array Index Via String Wrapper Prototype Pollutioncve-2026-33228-array-index-via-string-wrapper-prototype-pollution

A String wrapper instance is used directly as an Array index without numeric coercion. Array property access for non-numeric string keys traverses the prototype chain, so an attacker-controlled value such as "__proto__" resolves to Array.prototype, leaking a live reference that enables prototype pollution (CWE-1321). Coerce the value with `+value` or validat

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
86quality
CVE-2026-32621: Js Prototype Pollution Dynamic Key Mergecve-2026-32621-js-prototype-pollution-dynamic-key-merge

Possible prototype pollution (CWE-1321): assigning into a target object using a key obtained from another object's keys (Object.keys(...) or for..in) without first ensuring the property is an own property of the target. If the key is an inheritable name (e.g. `__proto__`, `constructor`, `prototype`, `toString`), the bracket-notation write traverses the proto

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
80quality
CVE-2026-29063: Immutable Js Iterate Unguarded Key Assignment Prototype Pollutioncve-2026-29063-immutable-js-iterate-unguarded-key-assignment-prototype-pollution

Iteration callback writes `$OBJ[$K] = $V` to a plain object without filtering prototype-polluting keys (e.g. '__proto__', 'constructor'). When the iterated collection's keys are attacker-controlled (e.g. an Immutable.Map built from `fromJS(JSON.parse(input))`), this triggers the prototype setter and pollutes the returned object's prototype (CVE-2026-29063, C

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
76quality
CVE-2026-26021: Prototype Pollution Via Includes Guardcve-2026-26021-prototype-pollution-via-includes-guard

Using `Array.prototype.includes()` to guard against prototype-pollution keys ('__proto__', 'constructor', 'prototype') is bypassable. An attacker who can execute JavaScript in the same realm before this guard runs can shadow `Array.prototype.includes` (e.g., `Array.prototype.includes = () => false`), causing the check to silently pass and allowing the forbid

by Provallyupdated 2026-06-12Apache-2.0
2.6K0 direct2.6K via packs
downloads
85quality
CVE-2026-25639: Javascript Recursive Merge Prototype Pollutioncve-2026-25639-javascript-recursive-merge-prototype-pollution

A recursive merge/assign callback writes to `result[key]` (and may recurse via a deep-merge call) without filtering the dangerous property names "__proto__", "constructor", and "prototype". When the source object is attacker-influenced (e.g., parsed JSON used as request config), iterating its keys and assigning them onto a fresh object pollutes Object.protot

by Provallyupdated 2026-06-12Apache-2.0
2.6K0 direct2.6K via packs
downloads
83quality
CVE-2026-25587: Prototype Guard Unsafe Hasownproperty Instance Methodcve-2026-25587-prototype-guard-unsafe-hasownproperty-instance-method

Calling `.hasOwnProperty()` as an instance method in a function-property mutation guard is unsafe in sandbox or access-control code. When the guarded object is itself a prototype (e.g., `Map.prototype`), its built-in methods ARE own properties. As a result, `!obj.hasOwnProperty(prop)` evaluates to `false` and the guard silently permits the overwrite. This al

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
78quality
CVE-2026-25586: Unsafe Hasownproperty Shadowingcve-2026-25586-unsafe-hasownproperty-shadowing

Calling hasOwnProperty() as a direct instance method on an object can be defeated by an attacker who supplies an object with a shadowed hasOwnProperty (e.g., { hasOwnProperty: () => true }). In sandbox or security-boundary code this causes prototype-access guards to silently pass, enabling host Object.prototype pollution. Use Object.prototype.hasOwnProperty.

by Provallyupdated 2026-06-12Apache-2.0
2.5K0 direct2.5K via packs
downloads
79quality
CVE-2026-21854: Js Auth Bracket Lookup Loose Equalitycve-2026-21854-js-auth-bracket-lookup-loose-equality

Authentication compares a bracket-indexed object lookup (e.g. users[username]) to a value using loose equality (==). When the bracket key originates from untrusted input, an attacker can pass "__proto__" so the lookup returns Object.prototype, which is truthy and is coerced by == to "[object Object]" — matching a chosen password and bypassing authentication.

by Provallyupdated 2026-06-12Apache-2.0
2.6K0 direct2.6K via packs
downloads
86quality
CVE-2026-18420: Osd Config Schema Separate Custom Rulescve-2026-18420-osd-config-schema-separate-custom-rules

Registering separate custom schema validation rules on the same schema object overwrites earlier validation rules, allowing input validation bypass. Combine minLength, maxLength, and custom validation checks into a single custom rule handler.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
73quality
CVE-2026-15698: Path Selector Prototype Pollutioncve-2026-15698-path-selector-prototype-pollution

Object path resolution function processes property selector paths without validating against '__proto__' or prototype properties. An attacker supplying a path containing '__proto__' can navigate or modify Object.prototype.

by Provallyupdated 2026-09-02Apache-2.0
2780 direct278 via packs
downloads
77quality
CVE-2026-12644: Incomplete Object Property Blocklistcve-2026-12644-incomplete-object-property-blocklist

An incomplete blocklist was used to filter object keys. Filtering properties like `__proto__` and `constructor` but failing to filter essential `Object.prototype` properties like `toString`, `valueOf`, and `hasOwnProperty` can lead to application crashes (DoS) when overridden properties are unexpectedly executed. Consider validating against an extensive list

by Provallyupdated 2026-06-23Apache-2.0
2.1K0 direct2.1K via packs
downloads
73quality
24 of 37 loaded