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
2917
Downloads
3.6M
Verified
2917
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule slug.
602 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-56304: Picklescan Incomplete Blocklistcve-2026-56304-picklescan-incomplete-blocklist

An incomplete blocklist of unsafe modules for pickle deserialization was found. The blocklist misses stdlib modules such as `uuid`, `pkgutil`, `imaplib`, or insufficiently blocks `cProfile` and `profile`. Attackers can exploit these unblocked functions to bypass the scanner and achieve arbitrary code execution.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
73quality
CVE-2026-56104: Insecure Session Restore By Idcve-2026-56104-insecure-session-restore-by-id

A session was retrieved by ID and restored/bound without checking ownership. This logic allows a session hijacking attack if an attacker supplies a victim's session ID. Verify that the session owner matches the currently authenticated user before performing the binding.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
73quality
CVE-2026-54317: Missing Strict Filename Validationcve-2026-54317-missing-strict-filename-validation

Missing strict validation of extracted filename. Verify that the extracted filename exactly matches the original input name to prevent silently ignoring path components.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
77quality
CVE-2026-54293: Weak Path Traversal Guard Splitcve-2026-54293-weak-path-traversal-guard-split

A weak lexical guard against path traversal was detected. Splitting a path string and checking for literal '..' components can be bypassed by URL-encoded sequences, normalization differences, or symlink traversal. Prefer using secure path resolution methods like `os.path.abspath(path).startswith(required_root)` or `pathlib.Path.resolve()` to safely validate

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
73quality
CVE-2026-54276: Aiohttp Digest Auth Cross Origin Leakcve-2026-54276-aiohttp-digest-auth-cross-origin-leak

DigestAuthMiddleware does not restrict credentials to the original scoped origin, leading to potential credential leakage to attacker-controlled origins during redirects.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
70quality
CVE-2026-54273: Aiohttp Unbounded Pipelined Request Queuecve-2026-54273-aiohttp-unbounded-pipelined-request-queue

The HTTP/1 request parsing implementation lacks a boundary limit on the number of pipelined requests. The parser continuously processes socket data into parsed request messages and buffers them indefinitely in memory without applying backpressure.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
66quality
CVE-2026-54233: Python Audio Decompression Bombcve-2026-54233-python-audio-decompression-bomb

Unbounded audio decoding detected. An attacker can provide a highly compressed audio file (decompression bomb) that expands into gigabytes of raw PCM data, leading to memory exhaustion and Denial of Service. Limit the maximal amount of frames, samples, or duration decoded, and exit early if limits are exceeded.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
74quality
CVE-2026-53874: Insecure Pickle Scanner Blocklistcve-2026-53874-insecure-pickle-scanner-blocklist

Found an incomplete blocklist of unsafe modules for pickle scanning. `cProfile` or `profile` only block specific methods, missing other arbitrary execution vectors.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
61quality
CVE-2026-53873: Picklescan Incomplete Profile Blocklistcve-2026-53873-picklescan-incomplete-profile-blocklist

The `profile` module blocklist is incomplete. It fails to block the module-level `profile.run` and `profile.runctx` functions, allowing attackers to achieve arbitrary code execution via exec() when unpickled.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
70quality
CVE-2026-53872: Incomplete Pickle Deserialization Blocklistcve-2026-53872-incomplete-pickle-deserialization-blocklist

A module blocklist meant for Python deserialization scanning appears to be incomplete. Omitting dangerous modules like `pkgutil` (which can resolve any module dynamically, bypassing blocklists) or command-execution vectors in `uuid`, `test`, and `imaplib` allows attackers to bypass inspection. Ensure the blocklist maps modules such as `pkgutil`, `uuid`, `tes

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
73quality
CVE-2026-53568: Frappe Unvalidated Query Dict Keycve-2026-53568-frappe-unvalidated-query-dict-key

Unvalidated dictionary keys in query-parsing are directly formatted into `frappe.throw`, which can lead to Stored XSS or SQL injection. Ensure uppercase functions/keys are validated (e.g., using `child_field.isupper()`) before throwing errors.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
73quality
CVE-2026-52726: Shell Command Replace Injectioncve-2026-52726-shell-command-replace-injection

Constructing shell commands by substituting string placeholders with unquoted variables via `str.replace()` can lead to OS command injection. Ensure replacements use `shlex.quote()` to escape the injected values before passing the command to subprocess.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
66quality
CVE-2026-50019: Print Sensitive File Contentcve-2026-50019-print-sensitive-file-content

A debug print statement directly outputting the contents of a file to standard output. If this file contains sensitive data (like cookies), this can lead to information disclosure via logs or console output.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
76quality
CVE-2026-49959: Unanchored Deletion Toctoucve-2026-49959-unanchored-deletion-toctou

A Time-of-Check Time-of-Use (TOCTOU) vulnerability exists. A path is checked for its type (e.g., using `is_dir()`) and subsequently deleted using a vulnerable unanchored operation such as `shutil.rmtree()` or `unlink()`. An attacker can substitute the path with a symlink between the check and the deletion, leading to arbitrary file deletion outside intended

by Provallyupdated 2026-06-12Apache-2.0
1.2K0 direct1.2K via packs
downloads
65quality
CVE-2026-49958: Toctou Dynamic Path Deletioncve-2026-49958-toctou-dynamic-path-deletion

Checking whether a path is a directory and conditionally deleting it using unanchored deletion methods (`shutil.rmtree`, `.unlink()`, `os.remove`) creates a Time-of-Check Time-of-Use (TOCTOU) race condition. If an attacker swaps a parent directory with a symlink between the check and the deletion call, arbitrary files and directories outside the intended bou

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
76quality
CVE-2026-49853: Python Tornado Http Splitting Xsscve-2026-49853-python-tornado-http-splitting-xss

Tornado framework's error handling accepts and processes custom HTTP reason phrases without sufficient validation against Control Characters like CRLF (leading to HTTP Header Injection) or escaping before embedding into HTML response bodies (Cross-Site Scripting). Ensure that custom reason phrases are properly validated (e.g., matching a strict ABNF token pa

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
73quality
CVE-2026-48983: Pamusb Python Command Injectioncve-2026-48983-pamusb-python-command-injection

Constructing OS commands using string formatting or concatenation and executing them in a shell is vulnerable to command injection. An attacker can inject arbitrary shell commands. Use a list of arguments with subprocess.run() without shell=True instead.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
77quality
CVE-2026-48981: Python Os System Command Injectioncve-2026-48981-python-os-system-command-injection

Constructing shell commands using string formatting or concatenation and passing them to `os.system()` can lead to OS command injection. An attacker could inject arbitrary shell commands through the interpolated variables. Instead, use `subprocess.run()` and pass arguments as a list to avoid shell interpretation.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
72quality
CVE-2026-48746: Starlette Url Path Auth Bypasscve-2026-48746-starlette-url-path-auth-bypass

Using `URL(scope=...).path` for path evaluation in ASGI middleware is vulnerable to Host header injection, enabling path parsing confusion. This allows attackers to bypass path-based routing, authentication, or authorization logic by injecting URL characters like `?` into the Host header. Direct your checks against the raw ASGI request path from the scope us

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
72quality
CVE-2026-48681: Python Insecure File Url Path Validationcve-2026-48681-python-insecure-file-url-path-validation

Extracting a file path from a user-supplied URL and verifying only its existence allows path traversal and arbitrary local file reads. Path input extracted from untrusted URLs must be defensively normalized using `os.path.abspath` and verified against an explicit allowlist before being trusted.

by Provallyupdated 2026-06-12Apache-2.0
1.3K0 direct1.3K via packs
downloads
81quality
CVE-2026-48544: Python Dynamic Method Json Loads Oomcve-2026-48544-python-dynamic-method-json-loads-oom

Deserializing the output of a dynamically retrieved method using `json.loads` can cause massive memory expansion (Out-Of-Memory crashes) if the method generates large strings, such as `to_json()` on mapped data structures like Pandas DataFrames. Instead of round-tripping through JSON strings locally, rely on APIs that return serializable objects directly.

by Provallyupdated 2026-06-12Apache-2.0
1.3K0 direct1.3K via packs
downloads
68quality
CVE-2026-48155: Python Unbounded Whitespace Multiplicationcve-2026-48155-python-unbounded-whitespace-multiplication

String or list multiplication with dynamically calculated values may lead to uncontrolled memory consumption and Denial of Service (DoS). Ensure the sequence multiplier is explicitly bounded before execution.

by Provallyupdated 2026-06-23Apache-2.0
8550 direct855 via packs
downloads
74quality
CVE-2026-48065: Python Shell Command Injectioncve-2026-48065-python-shell-command-injection

Executing OS commands with dynamic string formatting via os.system or subprocess with shell=True is vulnerable to command injection. An attacker who controls the interpolated input can break out of the command string to execute arbitrary code. Use subprocess functions without shell=True and pass arguments as an array/list.

by Provallyupdated 2026-06-12Apache-2.0
1.3K0 direct1.3K via packs
downloads
77quality
CVE-2026-48064: Python Shell Command Injectioncve-2026-48064-python-shell-command-injection

Format string or concatenation used to construct an OS shell command opens the application to command injection. Provide parameters as a list array instead and disable shell=True.

by Provallyupdated 2026-06-12Apache-2.0
1.3K0 direct1.3K via packs
downloads
77quality
24 of 602 loaded