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.
269 rules matched. Showing 24 loaded rules.
Publish rule
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
440 direct44 via packs
downloads
83quality
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
450 direct45 via packs
downloads
83quality
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
440 direct44 via packs
downloads
77quality
CVE-2026-115997: Java Mybatis Plus Orderby Denylist Only Sql Injectioncve-2026-115997-java-mybatis-plus-orderby-denylist-only-sql-injection

Sort tokens are accepted only because the MyBatis-Plus deny-list SqlInjectionUtils.check() does not flag them, then become OrderItem columns that the pagination interceptor interpolates verbatim into the ORDER BY clause. ORDER BY identifiers cannot be JDBC bound parameters, so any SQL expression that evades the deny-list (CASE WHEN, hex(password), user_id+1,

by Provallyupdated 2026-10-27Apache-2.0
470 direct47 via packs
downloads
85quality
CVE-2026-115418: Sql String Literal Quote Doubling Without Backslash Escapingcve-2026-115418-sql-string-literal-quote-doubling-without-backslash-escaping

A SQL string literal is built by interpolating a value into a single-quoted literal while escaping only single quotes, so backslashes pass through unescaped. Dialects that process backslash escapes in single-quoted literals (Amazon Redshift, MySQL) parse an embedded '\' as an escape: the doubled quote becomes an escaped quote followed by the literal terminat

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
83quality
CVE-2026-115328: Js Sql Injection Quote Splice Unparameterized Querycve-2026-115328-js-sql-injection-quote-splice-unparameterized-query

SQL query string built by splicing $VAL inside a single-quoted SQL literal ("...'" + $VAL + "'...") or by quote-wrapping a value ("'" + $VAL + "'"), then executed via $DB.query() without a parameters array. A single quote in $VAL terminates the SQL literal, so an attacker-controlled value can inject arbitrary SQL (node-postgres sends a single-string call ove

by Provallyupdated 2026-10-27Apache-2.0
481 direct47 via packs
downloads
90quality
CVE-2026-115324: Sql Injection Unescaped Quoted Interpolation Executed Statementcve-2026-115324-sql-injection-unescaped-quoted-interpolation-executed-statement

SQL is assembled by interpolating data ($X) directly inside single-quoted SQL string literals and executed via the Databricks statement-execution API without bind parameters. A crafted memory text, metadata value, or record ID containing a single quote terminates the SQL literal and injects arbitrary SQL (CWE-89): a tautology WHERE clause such as "' OR '1'='

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
90quality
CVE-2026-114664: Sql Injection Pypika Get Sql Unescaped Backslashcve-2026-114664-sql-injection-pypika-get-sql-unescaped-backslash

Collected pypika filter criteria are rendered to a raw SQL text fragment with $CRITERION.get_sql(with_namespace=True, quote_char=...) and interpolated into the engine's WHERE clause. pypika's ValueWrapper only escapes quote characters, not backslashes, and MariaDB treats '\' as an escape character inside single-quoted string literals, so a user-controlled fi

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
87quality
CVE-2026-109573: Php Sql Backslash Quote Escaping Bypasscve-2026-109573-php-sql-backslash-quote-escaping-bypass

Manual SQL escaping that rewrites a single quote into a backslash-escaped quote (\') is incorrect on MySQL/MariaDB servers running with NO_BACKSLASH_ESCAPES: there the backslash is a literal character, so the quote still terminates the SQL string literal and attacker-controlled data can break out of its string context and inject SQL. Escape with the driver's

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
81quality
CVE-2026-109353: Php Raw Request Dbinsert Sql Injectioncve-2026-109353-php-raw-request-dbinsert-sql-injection

Raw request parameters read through $_REQUEST (the aggregate request-parameter superglobal) or $_GET are passed as column values to dbInsert(), which builds the INSERT statement by interpolating the supplied values into the SQL text instead of binding them as parameters. These legacy request-parameter flows are unvalidated (at most isset()-guarded) and reach

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-108826: Zencart Sql Injection Tainted Db Perform Where Clausecve-2026-108826-zencart-sql-injection-tainted-db-perform-where-clause

zen_db_perform() interpolates its 4th argument verbatim as the WHERE clause of the generated UPDATE (only the values of the $data array are escaped). Concatenating a request superglobal ($_POST/$_GET/$_REQUEST/$_COOKIE) directly into that argument — e.g. "txn_id='" . $_POST['txn_id'] . "'" — turns a forged request into executable SQL: arbitrary row selection

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-107375: Generic Spring Data Relational Unvalidated Dynamic Orderby Identifiercve-2026-107375-generic-spring-data-relational-unvalidated-dynamic-orderby-identifier

A non-literal value (typically Sort.Order::getProperty(), bound from the attacker-controlled `sort` request parameter of paginated endpoints) is converted into an unquoted SQL identifier with Table.column(...) and wrapped in OrderByField.from(...), then rendered verbatim into the SQL ORDER BY clause by SqlRenderer. Without validation against the entity metam

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
78quality
CVE-2026-105856: Createjsonquery Index Ts Cwe 000 Cve 2026 105856cve-2026-105856-createjsonquery-index-ts-cwe-000-cve-2026-105856

Whether $UNSANITIZED gets sanitized is decided with a prefix parser: parseInt(), parseFloat() and their Number.* equivalents consume only a leading numeric prefix, so parseInt('1) OR 1=1--') returns 1 and Number.isNaN(parseInt($UNSANITIZED)) is false for any input that merely starts with a digit. The raw $UNSANITIZED branch of this ternary is therefore emitt

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
78quality
CVE-2026-104457: Php Sqli Quote Wrapped Implode Sql Listcve-2026-104457-php-sqli-quote-wrapped-implode-sql-list

An array is joined with a tight quote-comma-quote separator (no spaces) and the joined text is wrapped directly in bare, matching SQL string-quote literals, building an unescaped SQL string-literal list by hand (for example the operand of a `col IN (...)` clause). Under MySQL/MariaDB default sql_mode an array element ending in a backslash escapes the auto-in

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-100683: Sql Raw Ddl Unescaped Identifier Interpolationcve-2026-100683-sql-raw-ddl-unescaped-identifier-interpolation

A database identifier or string literal derived from stored schema metadata (a property access into an introspection/schema document) is interpolated directly into a raw SQL/DDL template literal, with the enclosing backtick (MySQL) or single quote (T-SQL) supplied by the surrounding string instead of by an escaping/quoting call. A planted column/table name c

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
86quality
CVE-2026-100644: Go Sql Injection Concat Into Quoted Sql Literalcve-2026-100644-go-sql-injection-concat-into-quoted-sql-literal

$VAL is concatenated directly into a single-quoted SQL string literal. A single quote in $VAL terminates the literal and lets an attacker append arbitrary SQL (e.g. UNION SELECT) to the statement. Escape quotes before concatenation (e.g. strings.ReplaceAll($VAL, "'", "''")) or use a bound parameter instead.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
78quality
CVE-2026-96673: Go Gorm Inline Condition Sql Injectioncve-2026-96673-go-gorm-inline-condition-sql-injection

Request-controlled value $COND is passed to a GORM query method as the only condition argument. GORM interprets a single non-slice condition argument as an inline raw SQL WHERE clause rather than a bound parameter, so the value is interpolated directly into the query (e.g. WHERE 1 AND SLEEP(5)). Validate and convert the input (e.g. strconv.Atoi) and use the

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-93591: Go Sql Concat Unescaped Node Text Injectioncve-2026-93591-go-sql-concat-unescaped-node-text-injection

Text extracted from a parsed document node ($NODE.Text()) reaches a SQL string literal built by concatenation without escaping single quotes. A single quote in attacker-controllable content closes the SQL string literal and allows arbitrary SQL injection into the executed statement. Escape the value for the SQL string literal context before interpolation, e.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
90quality
CVE-2026-93292: Go Sql String Literal Interpolationcve-2026-93292-go-sql-string-literal-interpolation

A raw value is interpolated directly inside a single-quoted ClickHouse SQL string literal, either as a quoted tuple of format verbs (('%s','%s')) or as a quoted verb aliased into the projection ('%s' AS ...), assembled with fmt.Sprintf (inline format string or a raw SQL template literal formatted later). The value is never neutralized for the string-literal

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
86quality
CVE-2026-88912: Wordpress Esc Sql Comparison Operatorcve-2026-88912-wordpress-esc-sql-comparison-operator

SQL comparison operators should not be sanitized with esc_sql(). esc_sql() only escapes characters for quoted string literals and does not prevent SQL injection when operators are interpolated unquoted into SQL clauses. Validate comparison operators against an allowlist of permitted operators instead.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
75quality
CVE-2026-87016: Sqlalchemy Json Contains Wildcard Matchingcve-2026-87016-sqlalchemy-json-contains-wildcard-matching

Using `.contains()` with a dictionary or list on a SQLAlchemy JSON column compiles to a `LIKE '%...%'` substring match on SQLite and MySQL. This allows SQL wildcards (`%`, `_`) in user inputs to match unintended records, potentially leading to identity spoofing or authentication bypass. Use JSON subscripting with exact comparison (e.g., `Column[key].as_strin

by Provallyupdated 2026-10-27Apache-2.0
490 direct49 via packs
downloads
77quality
CVE-2026-84993: Sql Order By Unvalidated Directioncve-2026-84993-sql-order-by-unvalidated-direction

The order direction is directly concatenated or interpolated into a SQL expression after only converting case (e.g., via `.toLowerCase()` or `.toUpperCase()`). This does not prevent SQL injection if untrusted user input is passed as the sort direction. Validate the direction against a strict allowlist of permitted values (such as 'asc' and 'desc') before inc

by Provallyupdated 2026-10-27Apache-2.0
450 direct45 via packs
downloads
79quality
CVE-2026-84813: Wordpress Wpdb Sqli Unparameterized Querycve-2026-84813-wordpress-wpdb-sqli-unparameterized-query

Unsanitized input is interpolated or concatenated into a WordPress database query format string. Use %s / %d placeholders with $wpdb->prepare() and pass user values in the arguments array.

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
83quality
CVE-2026-82655: Unvalidated Uuid Array Sql Injectioncve-2026-82655-unvalidated-uuid-array-sql-injection

The comma-separated request parameter $NAME is read as an unconstrained string and split into array $LIST with explode(), but no element is validated as a UUID. Elements of this array are concatenated into SQL (e.g. an IN ('...') list built with implode and executed with empty bind parameters) instead of being bound, so characters that survive the framework'

by Provallyupdated 2026-10-27Apache-2.0
440 direct44 via packs
downloads
87quality
24 of 269 loaded