Explore

Rule Explorer

Search the public rule index by CVE, GHSA, CWE, language, framework, author, or rule id. Filter by language, framework, severity, confidence, license, and validation status.

Public rules
1935
Downloads
201.7K
Verified
1935
Authors
2
Search the rule indexUse CVE, GHSA, CWE, language, framework, package, or rule id.
1935 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2020-37012: Php Latex Shell Escape Rcecve-2020-37012-php-latex-shell-escape-rce

LaTeX (latex/pdflatex/xelatex/lualatex) is being invoked with the `-shell-escape` flag. This flag enables LaTeX's `\write18{...}` and `\input{|"cmd"}` shell-execution primitives, which pass their arguments directly to /bin/sh. If the .tex document being compiled contains any untrusted input (e.g., HTTP request body, user-uploaded file, database field), this

phpCVE-2020-37012CWE-78
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2021-3749: Redos Whitespace Replace Star Quantifiercve-2021-3749-redos-whitespace-replace-star-quantifier

ReDoS (Regular Expression Denial of Service): Using /^\s*/ or /\s*$/ in String.replace() can cause catastrophic backtracking when processing strings with many whitespace characters followed by a non-whitespace character (CVE-2021-3749). The \s* zero-or-more quantifier combined with start/end anchors forces the regex engine into O(N^2) backtracking on adversa

javascriptCVE-2021-3749CWE-1333CWE-400
by Provallyupdated 2026-06-03Apache-2.0
MediumHigh confidenceProvally CuratedVerified
0 stars
58 downloads0 direct58 via packs
Trust score 95
CVE-2021-47781: Printf Family Self Concatenation Overflowcve-2021-47781-printf-family-self-concatenation-overflow

A printf-family function (swprintf_s/swprintf/sprintf_s/sprintf/snprintf/_snwprintf_s) is called with the destination buffer passed both as the output and as its own %s source, followed by a single attacker-influenced argument (e.g. `swprintf_s(buf, L"%s /run {%s}", buf, user_input)`). This is an unbounded self-concatenation into a fixed-size buffer with ove

cppCVE-2021-47781CWE-120CWE-787
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2021-47952: Python Jsonpickle Unsafe Decode Eval Rcecve-2021-47952-python-jsonpickle-unsafe-decode-eval-rce

jsonpickle decode()/Unpickler() is defined or invoked with safe=False, enabling the legacy py/repr deserialization path that calls eval() on attacker-controlled JSON content. A JSON payload like {"py/repr": "os/os.system('id')"} achieves remote code execution. Change the default to safe=True (patched behavior) or pass safe=True explicitly at call sites.

pythonCVE-2021-47952CWE-502CWE-94
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2023-38048: Codeigniter Order By Sql Injection Via Escapecve-2023-38048-codeigniter-order-by-sql-injection-via-escape

The CodeIgniter `db->order_by()` is being called with a value passed through `db->escape()`. `CI_DB::escape()` is a value-escaping helper that wraps strings in single quotes for SQL literal contexts; it does NOT sanitise SQL identifier contexts like ORDER BY. An attacker controlling the value (typically via a `sort` query parameter) can inject SQL fragments

phpCVE-2023-38048CWE-89
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2023-38049: Codeigniter Order By Escape Sqlicve-2023-38049-codeigniter-order-by-escape-sqli

Passing the result of $DB->escape() (a value escaper that wraps strings as SQL string literals) to $DB->order_by() does not sanitize SQL identifiers. When the argument is user-controlled, this allows ORDER BY SQL injection (commas, function calls, sub-selects, time-based payloads). Use an identifier-quoting/whitelisting helper such as quote_order_by() or res

phpCVE-2023-38049CWE-89
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2023-38053: Codeigniter Order By Escape Sql Injectioncve-2023-38053-codeigniter-order-by-escape-sql-injection

Passing user-controlled input to CodeIgniter's $db->order_by() after only running it through $db->escape() does not sanitize SQL identifiers. escape() quotes string literals but does not constrain ORDER BY column tokens, allowing an attacker to inject arbitrary SQL (subqueries, CASE/IF expressions, UNION fragments, boolean payloads) into the ORDER BY clause.

phpCVE-2023-38053CWE-89
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2023-38054: Easyappointments Order By Escape Sql Injectioncve-2023-38054-easyappointments-order-by-escape-sql-injection

The value passed to CodeIgniter's `$db->order_by(...)` is sanitized with `$db->escape(...)`, which only quotes string-literal values for use in WHERE clauses. It does NOT sanitize SQL identifiers or strip ORDER BY syntax (subqueries, CASE expressions, UNION ordering tricks, etc.). Attacker-controlled `sort` / `order_by` parameters can therefore inject SQL in

phpCVE-2023-38054CWE-89
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2023-52044: Php Mime Blocklist Missing Php8 Php9cve-2023-52044-php-mime-blocklist-missing-php8-php9

PHP MIME-type blocklist maps PHP variants (e.g., 'php7:*' => 'text/x-php') but omits 'php8:*' and/or 'php9:*'. Uploaded files with a .php8 / .php9 extension will not be reclassified as text/x-php and may bypass the PHP-handler blocklist, leading to Remote Code Execution on servers that execute these extensions as PHP (CVE-2023-52044, CWE-434).

phpCVE-2023-52044CWE-434
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2024-0916: Php Uvdesk Uploadfile Rename Defaults Falsecve-2024-0916-php-uvdesk-uploadfile-rename-defaults-false

The uploadFile() method declares a rename/sanitize flag parameter (e.g., $renameFile) that defaults to false. Callers that don't explicitly pass true will keep the attacker-controlled client filename verbatim, including dangerous extensions like .php. This enables Unrestricted File Upload (CWE-434) leading to RCE when files land under a web-served directory.

phpCVE-2024-0916CWE-434
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2024-10081: Python Auth Allowlist Path Endswith Bypasscve-2024-10081-python-auth-allowlist-path-endswith-bypass

Anonymous-access allowlist gated by `endswith()` on a raw HTTP path is vulnerable to suffix spoofing (CVE-2024-10081, CWE-288 / CWE-420): an attacker can craft a URL whose raw path ends with one of the allowlisted tokens (e.g. '/Authentication') while the request is dispatched by the router to a different, privileged endpoint, yielding an authentication bypa

pythonCVE-2024-10081GHSA-F3F8-VX3W-HP5QCWE-288CWE-420
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2024-11392: Python Torch Load Without Weights Onlycve-2024-11392-python-torch-load-without-weights-only

`torch.load()` is called without `weights_only=True`. By default (in torch < 2.6), `torch.load` uses Python's `pickle` deserializer, which executes arbitrary code embedded in the input file during deserialization. If the loaded file path is attacker-influenced or comes from an untrusted source, this leads to remote code execution (CVE-2024-11392, CWE-502: De

pythonCVE-2024-11392CWE-502
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2024-11393: Python Pickle Load Without Trust Remote Code Guardcve-2024-11393-python-pickle-load-without-trust-remote-code-guard

`pickle.load()` / `pickle.loads()` in a checkpoint-conversion script deserializes a user-supplied path without a `TRUST_REMOTE_CODE` environment-variable opt-in guard. Python's pickle protocol can execute arbitrary code embedded via `__reduce__` during deserialization, so loading an attacker-controlled checkpoint, metadata file, or weight bundle enables remo

pythonCVE-2024-11393CWE-502
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2024-11394: Python Pickle Load Without Trust Remote Code Gatecve-2024-11394-python-pickle-load-without-trust-remote-code-gate

`pickle.load()` is invoked on a checkpoint file inside a HuggingFace Transformers model-conversion script without first verifying the `TRUST_REMOTE_CODE` environment variable. Python pickle deserialization executes arbitrary code embedded in the input via `__reduce__`, so unpickling attacker-controllable checkpoint files (e.g. `model_args.pkl`, `.metadata`)

pythonCVE-2024-11394CWE-502
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2024-21663: Discord Bot Command Shell Injection Unsanitizedcve-2024-21663-discord-bot-command-shell-injection-unsanitized

Discord command handler interpolates user-controlled `$ARG` into a shell command string and executes it with `subprocess.*(..., shell=True)` without first calling `CommandInjection.sanitizeInput($ARG)`. Any user able to invoke this command can inject shell metacharacters (`;`, `&&`, `|`, backticks, `$()`) and execute arbitrary OS commands on the bot host (CV

pythonCVE-2024-21663GHSA-FJCJ-G7X8-4RP7CWE-20CWE-77
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2024-24830: Openobserve User Creation Missing Initiator Authzcve-2024-24830-openobserve-user-creation-missing-initiator-authz

This `post_user` handler accepts a `UserRequest` (which carries a caller-supplied `role`) but takes no `initiator_id` parameter and performs no Root/Admin authorization check on the caller. Any authenticated user can therefore create an account with elevated privileges (e.g. `UserRole::Root`), enabling vertical privilege escalation (CVE-2024-24830). Fix: add

rustCVE-2024-24830GHSA-HFXX-G56F-8H5VCWE-250CWE-269
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2024-29895: Php Server Argv To Shell Exec Without Castcve-2024-29895-php-server-argv-to-shell-exec-without-cast

Untrusted input read from $_SERVER['argv'] is passed to a shell-invoking function without integer casting, intval(), or shell-argument escaping. When PHP's register_argc_argv directive is On (the default in many environments, including the official PHP Docker image), URL query-string tokens populate $_SERVER['argv'] for HTTP-served scripts, so an unauthentic

phpCVE-2024-29895GHSA-CR28-X256-XF5MCWE-77CWE-78
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
52 downloads0 direct52 via packs
Trust score 95
CVE-2024-31982: Xwiki Feed Output In Verbatim Blockcve-2024-31982-xwiki-feed-output-in-verbatim-block

The XWiki rendering verbatim block ({{{ ... }}}) wraps feed output that may contain user-controlled data. Because verbatim only escapes wiki parsing, an attacker who can influence the wrapped content (e.g. via a feed title/description filled from a request parameter) can inject a literal "}}}" to terminate the verbatim block early and then have arbitrary mac

genericCVE-2024-31982CWE-1336CWE-94CWE-95
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
57 downloads0 direct57 via packs
Trust score 95
CVE-2024-32641: Masacms Insecure Default Dynamic Content Flagcve-2024-32641-masacms-insecure-default-dynamic-content-flag

Masa CMS / Mura CMS configBean sets enableDynamicContent, enableMuraTag, or sharableRemoteSessions to true by default. With these flags enabled, the setDynamicContent renderer treats user input containing [m]...[/m] (or [mura]/[sava]) tags as live CFML and passes the inner expression to evaluate(), enabling pre-authentication remote code execution (CVE-2024-

genericCVE-2024-32641GHSA-CJ9G-V5MQ-QRJMCWE-94
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
57 downloads0 direct57 via packs
Trust score 95
CVE-2024-38369: Xwiki Include Macro Author Rights Comparisoncve-2024-38369-xwiki-include-macro-author-rights-comparison

Authorization decision for included/displayed content is gated by an equality comparison between the included document's content author and the current author (Objects.equals(getContentAuthorReference(), getCurrentAuthorReference())). This pattern only switches the author execution context when authors differ, so any document edited by a user that is include

javaCVE-2024-38369GHSA-QCJ3-WPGM-QPXHCWE-863
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
54 downloads0 direct54 via packs
Trust score 95
CVE-2024-39943: Nodejs Child Process Exec Template Literal Injectioncve-2024-39943-nodejs-child-process-exec-template-literal-injection

execSync/exec is being called with a template literal that contains interpolated expressions. Because exec/execSync run the command through a shell (/bin/sh), any shell metacharacter present in the interpolated value (quotes, backticks, $(), ;, &&, |) will be parsed by the shell and can lead to OS command injection. Use spawnSync/spawn with an argv array ins

javascriptCVE-2024-39943CWE-78
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
62 downloads0 direct62 via packs
Trust score 95
CVE-2024-45409: Ruby Saml Xpath Signature Wrappingcve-2024-45409-ruby-saml-xpath-signature-wrapping

XML Signature Wrapping (CVE-2024-45409): SAML signature validation uses a document-root-relative XPath ("//ds:...") to locate ds:Reference, ds:CanonicalizationMethod, ds:DigestMethod, ds:DigestValue, or ds:Transforms/ds:Transform. Because these queries traverse the entire document instead of the already-authenticated SignedInfo/Reference subtree, an attacker

rubyCVE-2024-45409GHSA-JW9C-MFG7-9RX2CWE-347
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
CVE-2024-45971: Libiec61850 Unsafe Create String From Buffer In Buffercve-2024-45971-libiec61850-unsafe-create-string-from-buffer-in-buffer

Call to StringUtils_createStringFromBufferInBuffer() copies `size` bytes into a fixed-size destination buffer via an unchecked memcpy plus NUL terminator. When `size` is derived from an untrusted source (for example an MMS / BER TLV length field from a peer), this leads to a stack/heap buffer overflow (CVE-2024-45971, CWE-120). Use StringUtils_createStringFr

genericCVE-2024-45971CWE-120
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
57 downloads0 direct57 via packs
Trust score 95
CVE-2024-46986: Ruby Kernel Eval On Non Literalcve-2024-46986-ruby-kernel-eval-on-non-literal

Kernel#eval is invoked with a non-literal value pulled from a variable or collection. If the argument is influenced by configuration, plugins, database/cache contents, or any other writable source, this is a Ruby code-injection sink (CWE-95) leading to RCE. Store callbacks as Proc/Lambda objects and invoke them via `.call` (or `&:call`) instead of eval'ing s

rubyCVE-2024-46986CWE-94CWE-95
by Provallyupdated 2026-06-03Apache-2.0
HighHigh confidenceProvally CuratedVerified
0 stars
53 downloads0 direct53 via packs
Trust score 95
24 of 1935 loaded