Skip to main content

CVE-2026-118391elixir-ecto ecto allocation without limits

Schedule itHigh8.9EPSS 0.49%, higher than 43% of scored CVEs

CVE-2026-118391 is a allocation without limits in elixir-ecto ecto, rated high (8.9 on CVSS 4.0).

Why this priority: High severity, with no exploitation signal yet.

Published · Updated · NVD status: Received

What it is

Resources are allocated without a cap, so a caller can exhaust them.

How it is reached

An attacker can exploit it over the network, without an account, and nobody has to click anything. Success also depends on conditions the attacker does not fully control.

What an attacker gains

A successful attack can take it offline. In practice, this kind of flaw lets an attacker exhaust CPU, memory or connections until the service stops answering. The damage can spread past the vulnerable component into others.

Is it being exploited?

There is no public report of exploitation yet. It can be exploited automatically, at scale. EPSS estimates a 0.49% chance of exploitation activity in the next 30 days, higher than 43% of scored CVEs.

What to do

  1. Upgrade elixir-ecto ecto to 3.14.3 or later.
  2. Until it is patched, keep it off the internet or behind a VPN, allowlist or authenticating proxy.

Description from NVD

Allocation of Resources Without Limits or Throttling vulnerability in elixir-ecto ecto allows an unauthenticated remote attacker to exhaust memory in the application and in the database server by sending requests with distinct JSON keys or list lengths where the application interpolates them into json_extract_path/2, field[^key] or splice/1. Ecto caches prepared queries per repository in an ETS table with no size limit and no eviction. Interpolated JSON path elements become part of the query expression instead of its parameters, and splice/1 expands into one placeholder per element, so every distinct key or list length creates a new cache entry. With ecto_sql each entry is also a new prepared statement on the database connection that runs it. None of this memory is released until the processes restart.

This issue affects ecto: from 3.4.0 before 3.14.3.

What this means for your architecture.

A CVE names a product. Whether it matters depends on where that product sits in your systems: what reaches it, which trust boundary it guards and what it can reach once compromised. Veriom maps your components, their relationships and your trust boundaries from your code, cloud and delivery evidence, so you can see where a component like this sits. The radar itself does not look at your systems.

Components it touches

  • Public entry points and shared services that must stay up. The flaw sits between untrusted traffic and shared capacity.

Trust boundaries in play

  • Internet-facing entry points. No account is needed. Any instance reachable from outside your perimeter, through a load balancer, gateway, VPN or exposed admin port, is in scope.
  • Isolation between components. The impact crosses out of the vulnerable component into others it should be isolated from.
  • Between untrusted traffic and shared capacity. An attacker who crosses it can exhaust CPU, memory or connections until the service stops answering.

Questions to answer about your own systems

  • Where does elixir-ecto ecto run in your systems, and at which version?
  • Which of those instances can be reached from the internet or partner networks?
  • What can it reach once compromised: which data stores, secrets and services?

Sources

  • CVE records and CVSS scores from the NVD CVE API. This product uses the NVD API but is not endorsed or certified by the NVD.
  • Exploitation status from CISA’s Known Exploited Vulnerabilities catalog.
  • Exploit likelihood from FIRST’s Exploit Prediction Scoring System (EPSS), refreshed daily.
  • Explanations are written by Veriom from fixed templates over each record’s data, not by a person reviewing each CVE. Descriptions are quoted from the records as published.