CVE-2026-32763 json
SQL Injection via unsanitized JSON path keys when ignoring/silencing compilation errors or using `Kysely<any>`.
published 2026-03-18 7 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-13392 , GHSA-wmrf-hv6w-mr66
- cvss
- 8.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm kysely 0.28.12
- kysely kysely 0.28.12
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.44% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/kysely-org/kysely/security/advisories/GHSA-wmrf-hv6w-mr66 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
| GitHub | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | kysely | >=0.26.0, <0.28.12 |
0.28.12 |
Affected products
- kysely-org kysely
Classification
- Weakness
-
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command
References
-
github.com
/kysely-org/kysely/commit/0a602bff2f442f6c26d5e047ca8f8715179f6d24
web, patch
-
github.com
/kysely-org/kysely/security/advisories/GHSA-wmrf-hv6w-mr66
web, exploit, mitigation, vendor-advisory
-
github.com
/kysely-org/kysely/releases/tag/v0.28.12
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-32763
advisory
-
github.com
/kysely-org/kysely
package
Sources
- CVE List CVE-2026-32763
- GitHub Advisory GHSA-wmrf-hv6w-mr66
- NVD CVE-2026-32763
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.