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.
6482 rules matched. Showing 24 loaded rules.
Publish rule
CVE-2026-116827: Php Curl Unvalidated Url Ssrf With Redirectscve-2026-116827-php-curl-unvalidated-url-ssrf-with-redirects

A libcurl request is created from a non-constant URL while redirect following is enabled (CURLOPT_FOLLOWLOCATION = true) and the URL is neither validated nor restricted with CURLOPT_PROTOCOLS. An attacker-controlled URL here enables server-side request forgery (CWE-918): libcurl's default protocol set exposes file://, dict:// and gopher://, a redirect from a

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
87quality
CVE-2026-116825: Services Httpsignatureservice Php Cwe 918 Cve 2026 116825cve-2026-116825-services-httpsignatureservice-php-cwe-918-cve-2026-116825

This function verifies an inbound HTTP request signature with openssl_verify() but accepts the request without any anti-replay control: the signed Date header is never checked against the server clock and accepted signatures are never recorded. A captured, validly signed request (for example an ActivityPub inbox POST performing Delete, Update, Follow or Undo

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
87quality
CVE-2026-116821: Php Sql Like Pattern Wildcard Injectioncve-2026-116821-php-sql-like-pattern-wildcard-injection

A dynamic value is spliced directly into a SQL LIKE pattern without escaping the LIKE metacharacters backslash, percent and underscore. Ordinary SQL string-literal escaping (e.g. DbService::escape()) does not neutralize them, so an attacker-controlled value such as a self-registered username of `___` or `%%%` becomes a wildcard pattern (e.g. list LIKE "%___%

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
83quality
CVE-2026-116819: Unredacted Integration Rows Returned To Clientcve-2026-116819-unredacted-integration-rows-returned-to-client

A credential-bearing integration row reaches the client response without redaction. Integration configs are write-only credentials: Slack access tokens, incoming-webhook URLs, webhook header values (Authorization bearers) and `enc:` ciphertext for S3/GCS keys are persisted in recoverable form so the delivery worker can read them raw, and `read` on a project

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
86quality
CVE-2026-116816: Cpp Unvalidated Hex Parse Used As Array Indexcve-2026-116816-cpp-unvalidated-hex-parse-used-as-array-index

A value parsed by std::stoi()/std::stol()/std::stoll() with base 16 is used as an array or container index without validating the parsed characters with std::isxdigit. Base-16 std::stoi() accepts a leading '-' sign and throws std::invalid_argument on non-hex characters, so attacker-controlled text shaped like "<0xXX>" but containing a sign or non-hex charact

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
79quality
CVE-2026-116811: Js Sandbox Escape Function Constructor Accesscve-2026-116811-js-sandbox-escape-function-constructor-access

Untrusted template code is compiled or evaluated with Function/eval in the host realm instead of a hardened VM realm. Compiling a stored template with new Function() in the worker's own realm, and handing it the host payload object by reference, lets $payload.constructor.constructor resolve to the host Function constructor and execute arbitrary code (sandbox

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-116808: Sql Injection Identifier Interpolation In Sql Templatecve-2026-116808-sql-injection-identifier-interpolation-in-sql-template

A value is interpolated into the SQL text of a SELECT/JOIN expression as an identifier: an identifier list (`${...join(', ')}`) inside a SELECT subquery, or a raw `${name} as alias` select term. SQL identifiers cannot be neutralized with value escaping, so a crafted filter, breakdown or property name can terminate the enclosing subquery, supply its own FROM/

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-116745: Php Pii Order Reference Email In Redirect Without Secure Keycve-2026-116745-php-pii-order-reference-email-in-redirect-without-secure-key

Customer PII is disclosed through a redirect URL: the order reference ($ORDER->reference) and the customer e-mail are appended to a redirect link based only on a user-controlled identifier, without verifying the request's "key" parameter against $ORDER->secure_key. An unauthenticated attacker can iterate sequential cart/order ids and read the victim's order

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
86quality
CVE-2026-116587: Go Rsa Private Key Validate Without Size And Consistency Boundscve-2026-116587-go-rsa-private-key-validate-without-size-and-consistency-bounds

An rsa.PrivateKey is assembled from parsed values and passed to Validate()/Precompute() without first bounding the modulus size (e.g. if $n.BitLen() > limit) and checking p * q == n. When the key material originates from untrusted input (JSON/JWK/protocol fields), crafted large or degenerate RSA parameters make validation consume cubic CPU time on Go 1.24+,

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
84quality
CVE-2026-116584: Javascript Deserialization Unvalidated Element List Lengthcve-2026-116584-javascript-deserialization-unvalidated-element-list-length

A deserialization routine reads a parsed node's element list ($NODE.$FIELD) and consumes its `length` to size an allocation or bound a decoder loop without first verifying that the list is a real Array. Because the node comes from untrusted deserialized input, an attacker can substitute an array-like such as {"length": 2000000000} or {"length": "Infinity"}:

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-116581: Deserialization Unvalidated Iterator Index Metadatacve-2026-116581-deserialization-unvalidated-iterator-index-metadata

A sequence/iterator object is constructed from raw deserialized node metadata ($NODE.s throw index and $NODE.l done index) without first validating that both are in-range integers. An attacker who controls the serialized payload can supply an out-of-range done index so the reconstructed iterator never reaches its done condition; application code that iterate

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-116580: Typescript Untrusted Deserialize Unchecked Type Assertioncve-2026-116580-typescript-untrusted-deserialize-unchecked-type-assertion

Deserialized value $VAL is laundered through a TypeScript type assertion ($TYPE) instead of being proven by a runtime identity check. Untrusted serialized input can place an arbitrary object (or a plugin-produced value) behind the deserialized value, so downstream consumers invoke attacker-chosen methods on it (e.g. `on`, `next`, iterator protocol). Validate

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-116576: Js Unwhitelisted Data Interpolated Into Shell Commandcve-2026-116576-js-unwhitelisted-data-interpolated-into-shell-command

Caller-controlled data reaches the command text of a PowerShell execution without allow-list (whitelist) neutralization. PowerShell - unlike a POSIX shell - normalizes Unicode typographic quotes (U+2018-U+201E) and dashes (U+2013-U+2015) into real string delimiters, so a character blacklist that strips ASCII metacharacters still leaves alternate delimiter gl

by Provallyupdated 2026-10-27Apache-2.0
460 direct46 via packs
downloads
86quality
CVE-2026-116492: Frappe Whitelisted Phone Lookup Missing Permission Checkcve-2026-116492-frappe-whitelisted-phone-lookup-missing-permission-check

Whitelisted HTTP endpoint $FUNC resolves a CRM record from the caller-controlled parameter $PARAM via $LOOKUP and returns the match without enforcing document read permissions. The lookup runs raw query-builder queries that bypass the Frappe permission engine, and @frappe.whitelist() only requires authentication, so any authenticated user can enumerate Leads

by Provallyupdated 2026-10-27Apache-2.0
480 direct48 via packs
downloads
86quality
CVE-2026-116255: Php Tainted File Read Path Traversalcve-2026-116255-php-tainted-file-read-path-traversal

Request-controlled URI path data is exploded/imploded into segments and concatenated onto a filesystem base directory, and the resulting path is used in a filesystem operation (read or existence probe) without realpath() canonicalization and a root-prefix containment check (resolved path must equal the intended root or start with root . DIRECTORY_SEPARATOR).

PHPCodeIgniterCVE-2026-116255CWE-22
by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
90quality
CVE-2026-116219: Php Dolibarr Os Command Injection Path Sanitizer Bypasscve-2026-116219-php-dolibarr-os-command-injection-path-sanitizer-bypass

Raw request input read with GETPOST(..., 'none') is sanitized only with dol_sanitizePathName(), a path-name sanitizer that preserves shell metacharacters (&, ;, |, <, >, +). When this value is used as an OS command path/name (persisted in a constant such as SYSTEMTOOLS_MYSQLDUMP and later executed by Utils::dumpDatabase(), or passed directly to exec/system/p

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
90quality
CVE-2026-116218: Php Sql Unescaped Var In Quoted Literalcve-2026-116218-php-sql-unescaped-var-in-quoted-literal

An unescaped variable/property is concatenated into a single-quoted SQL string literal (the '...".".$var."' shape). A single quote inside the value terminates the SQL literal and allows SQL injection. CVE-2026-116218 exploited exactly this in CompanyBankAccount::create(), where the API-controlled 'type' property broke out of the INSERT INTO ...societe_rib VA

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
77quality
CVE-2026-116208: Php Activitypub Sync Missing Entry Ownership Checkcve-2026-116208-php-activitypub-sync-missing-entry-ownership-check

A remote ActivityPub activity replayed by the outbox-sync loop mutates a mirrored local entry (EntryManager delete/update/create) after resolving the actor-controlled object ID to a local entry via a source-URL triple lookup, without verifying that the syncing actor owns that entry. A malicious or compromised remote server can serve a poisoned outbox so that

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
87quality
CVE-2026-116202: Php Stored Xss Unsanitized File Uploadcve-2026-116202-php-stored-xss-unsanitized-file-upload

Uploaded file content is persisted verbatim: move_uploaded_file() copies $_FILES[...]['tmp_name'] into $DEST and the surrounding function never sanitizes the stored file. Upload endpoints commonly accept .svg (and .html), and a stored .svg is served back as image/svg+xml, so attacker-supplied <script> or onload= markup executes in the site origin for every u

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
83quality
CVE-2026-116201: Php Laravel Single Use Nonce Toctou Replaycve-2026-116201-php-laravel-single-use-nonce-toctou-replay

Non-atomic single-use token (nonce) check: a replayed value is rejected with a SELECT (`->count()` / `->exists()`), but the token itself is only INSERTed later through a separate write. Concurrent requests replaying the same SAML assertion all run the SELECT before any sibling request commits its INSERT, so every request passes the guard and mints an authent

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
75quality
CVE-2026-116200: Php Ldap Starttls Unchecked Returncve-2026-116200-php-ldap-starttls-unchecked-return

The result of ldap_start_tls() is discarded. If the StartTLS upgrade of the LDAP connection fails (e.g. an on-path attacker answers the StartTLS extended request with a protocol error), execution continues on the still-cleartext connection and a subsequent ldap_bind() sends the bind DN and password in plaintext. Fail closed instead, e.g. if (!ldap_start_tls(

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
83quality
CVE-2026-116199: Php Laravel Socialite Login Without Activated Checkcve-2026-116199-php-laravel-socialite-login-without-activated-check

Socialite/SSO callback resolves a local account purely by matching the provider-supplied email ($SOCIALUSER->getEmail()) against an account column and then creates an authenticated session with Auth::login() without ever enforcing the account's activated state. A deactivated (or soft-deleted) account whose username/email equals a provider-controlled email ca

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
CVE-2026-116195: Go Path Traversal Suffix Trim After Containment Checkcve-2026-116195-go-path-traversal-suffix-trim-after-containment-check

Root containment is validated before a suffix-stripping transformation is applied to the already-validated local path, so the path that is actually used was never checked. A name equal to ".." + suffix (e.g. "...rclonelink") passes the containment check while the suffix is still attached and then collapses to ".." after the trim, escaping the destination roo

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
78quality
CVE-2026-116194: Oauth Callback Value Persisted Or Url Built Without Allowlistcve-2026-116194-oauth-callback-value-persisted-or-url-built-without-allowlist

A value read from an OAuth callback form ($REQ.Form.Get / $REQ.FormValue) flows into persistent configuration ($CFG.Set) or into an http(s) URL without being checked against an allowlist. The localhost OAuth callback is an unauthenticated endpoint (any web page in the user's browser can request it while the flow is waiting), so a forged callback can plant an

by Provallyupdated 2026-10-27Apache-2.0
430 direct43 via packs
downloads
90quality
24 of 6482 loaded