CVE-2026-118391: ecto · Unthrottled Resource Allocation
Affects ectoSource CVE Database V5
Not known to be exploited · CVSS 8.9 High : upgrade to 3.14.3 soon.
Data as of 4 Nov 2026, 14:29 UTC
Thin evidence
One scorer or none| CNA (EEF) | CVSS 4.0 | 8.9 |
|---|
- Patch
- Available – fixed in 3.14.3, eef014ad090d27d1a5b69c0e32a50eabd44ab3bb
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:HExploitation evidence
Disclosed: evidence found.
CVE published 4 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 4 Nov 2026.
What to do
Upgrade ecto to 3.14.3; ecto to eef014ad090d27d1a5b69c0e32a50eabd44ab3bb.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| elixir-ectoecto | Affected
| Fixed in
|
| ectoelixir-ecto/ecto | Affected
| Fixed in
|
Hexectopkg:hex/ectoOther threats | Affected
| Fixed in
|
CPE configurations (1)
cpe:2.3:a:elixir-ecto:ecto:*:*:*:*:*:*:*:*
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade to elixir-ecto ecto version 3.14.3 or later, where this issue is fixed. The fix includes limiting or evicting cached prepared queries to prevent unbounded memory growth. Until upgrading, mitigating actions would require controlling input to avoid excessive distinct JSON keys or list lengths, but the primary recommended action is to apply the official patch.
Description
CVE-2026-118391 is a high-severity vulnerability in elixir-ecto's ecto library versions from 3.4.0 up to but not including 3.14.3. It allows an unauthenticated remote attacker to exhaust memory in both the application and the connected database server by sending requests with distinct JSON keys or list lengths. This occurs because ecto caches prepared queries without limits or eviction, and each unique JSON path or list length creates a new cache entry and prepared statement that is never released until process restart.
References
- github.com/elixir-ecto/ecto/security/advisories/GHSA-cxjx-vmm2-qr8r (opens in a new tab)
- cna.erlef.org/cves/CVE-2026-118391.html (opens in a new tab)
- osv.dev/vulnerability/EEF-CVE-2026-118391 (opens in a new tab)
- github.com/elixir-ecto/ecto/commit/d0e97d8a6e274c81c25fbf08087da8d8b9bae0ea (opens in a new tab)
- ecto.hexdocs.pm/Ecto.Query.API.html (opens in a new tab)
- ecto.hexdocs.pm/Ecto.Query.API.html (opens in a new tab)
- github.com/elixir-ecto/ecto/commit/eb03f45b999e2bf67ffae92811233eb6e56dba55 (opens in a new tab)
- github.com/elixir-ecto/ecto/issues/4470 (opens in a new tab)
- github.com/elixir-ecto/ecto/issues/1031 (opens in a new tab)
- github.com/elixir-ecto/ecto/commit/cb2f03964dac324a9771f84f5088e395326e6de8 (opens in a new tab)
- github.com/elixir-ecto/ecto/commit/eef014ad090d27d1a5b69c0e32a50eabd44ab3bb (opens in a new tab)