Kysely is a type-safe TypeScript SQL query builder. Versions up to and including 0.28.11 has a SQL injection vulnerability in JSON path compilation for MySQL and SQLite dialects. The `visitJSONPathLeg()` function appends user-controlled values from `.key()` and `.at()` directly into single-quoted JSON path string literals (`'$.key'`) without escaping single quotes. An attacker can break out of the JSON path string context and inject arbitrary SQL. This is inconsistent with `sanitizeIdentifier()`, which properly doubles delimiter characters for identifiers — both are non-parameterizable SQL constructs requiring manual escaping, but only identifiers are protected. Version 0.28.12 fixes the issue.
Advisories
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-wmrf-hv6w-mr66 | SQL Injection via unsanitized JSON path keys when ignoring/silencing compilation errors or using `Kysely<any>`. |
Fixes
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
References
History
Fri, 20 Mar 2026 09:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Kysely-org
Kysely-org kysely |
|
| Vendors & Products |
Kysely-org
Kysely-org kysely |
Thu, 19 Mar 2026 23:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Kysely is a type-safe TypeScript SQL query builder. Versions up to and including 0.28.11 has a SQL injection vulnerability in JSON path compilation for MySQL and SQLite dialects. The `visitJSONPathLeg()` function appends user-controlled values from `.key()` and `.at()` directly into single-quoted JSON path string literals (`'$.key'`) without escaping single quotes. An attacker can break out of the JSON path string context and inject arbitrary SQL. This is inconsistent with `sanitizeIdentifier()`, which properly doubles delimiter characters for identifiers — both are non-parameterizable SQL constructs requiring manual escaping, but only identifiers are protected. Version 0.28.12 fixes the issue. | |
| Title | SQL Injection via unsanitized JSON path keys when ignoring/silencing compilation errors or using `Kysely<any>`. | |
| Weaknesses | CWE-89 | |
| References |
| |
| Metrics |
cvssV3_1
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-03-19T23:14:58.747Z
Reserved: 2026-03-13T18:53:03.533Z
Link: CVE-2026-32763
No data.
Status : Awaiting Analysis
Published: 2026-03-20T00:16:17.790
Modified: 2026-03-20T13:37:50.737
Link: CVE-2026-32763
No data.
OpenCVE Enrichment
Updated: 2026-03-20T10:43:46Z
Weaknesses
Github GHSA