Iteration over Parse logical operators ('$or', '$and', '$nor') guards recursion with only Array.isArray, which allows an attacker-supplied array-like plain object (e.g. {"0": {...}, "length": 1}) to bypass the check. Downstream query / matching / protected-field code may still iterate the value via numeric/length-based access. Add an explicit pre-check that
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.5M
- Verified
- 4797
- Authors
- 2
A regex used to validate a Python package requirement / version specifier is built with a negated character class such as `[^A-Z0-9._-]+.*`. Negated classes accept whitespace and the `@` sign, allowing PEP 508 direct URL references like `pkg @ https://attacker.example.com/evil.tar.gz` to pass validation. If the captured value is later forwarded to `pip insta
mci_check_login() declares its username/password parameters without a string type declaration. PHP's SOAP server delivers parameters using the XML schema type sent by the client (e.g. xsi:type="xsd:integer" arrives as a native PHP int). Without `?string`/`string` typing, an attacker can force the password to arrive as an integer, bypassing null-only normaliz