CVE-2026-77846 json
JSON path injection via unescaped get_path segments in AshSqlite
published 2026-08-30 2 mo ago modified 2026-09-08 2 mo ago also EEF-CVE-2026-77846 , EUVD-2026-68147 , GHSA-hrp2-5hgw-c83c
- cvss
- 2.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 9%
- public exploits
- 0
- none known
Summary
Improper Neutralization of Special Elements in Data Query Logic vulnerability in ash-project ash_sqlite allows an attacker who controls a get_path/2 segment to traverse into nested JSON the application never exposed, disclosing private or sensitive? embedded fields.
AshSqlite.SqlImplementation builds the SQLite json_extract path with "$." <> Enum.join(right, "."), so a single segment containing ., [, ], or $ re-interprets the JSON path (for example "private.secret" descends two levels instead of naming one key). The path is bound as a parameter, so this is confined to the JSON-path grammar rather than SQL. Any endpoint that lets user input reach a get_path segment (a common pick-a-field pattern) can read nested values it never meant to expose.
This issue affects ash_sqlite: from 0.1.2-rc.0 before 0.2.18.
Patch / fix
- hex ash_sqlite 0.2.18
- ash-project ash_sqlite 0.2.18
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.20% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/ash-project/ash_sqlite/security/advisories/GHSA-hrp2-5hgw-c83c referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ash_sqlite | >=0.1.2-rc.0, <0.2.18 |
0.2.18 |
Affected products
- ash-project ash_sqlite
Classification
- Weakness
-
- CWE-943 Improper Neutralization of Special Elements in Data Query Logic
References
-
github.com
/ash-project/ash_sqlite/commit/2138480fceb654bec1845e691517ac409d0232c3
patch
-
github.com
/ash-project/ash_sqlite/security/advisories/GHSA-hrp2-5hgw-c83c
vendor-advisory, related, exploit, advisory
-
cna.erlef.org
/cves/CVE-2026-77846.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-77846
related
-
hex.pm
/packages/ash_sqlite
package
Sources
- CVE List CVE-2026-77846
- NVD CVE-2026-77846
- OSV EEF-CVE-2026-77846
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.