CVE-2024-12778 Overview
CVE-2024-12778 is a denial of service (DoS) vulnerability affecting aimhubio/aim version 3.25.0, an open-source experiment tracking tool used in machine learning workflows. The flaw resides in the Aim web API, which imposes no upper bound on the number of tracked metrics a single request can retrieve. When a client requests a large batch of metrics simultaneously, the single-threaded web server exhausts resources and stops responding. Attackers can trigger this condition remotely without authentication. The weakness is categorized under [CWE-770: Allocation of Resources Without Limits or Throttling].
Critical Impact
Unauthenticated remote attackers can render the Aim web server unresponsive by issuing a single crafted metrics query, disrupting experiment tracking and monitoring workflows.
Affected Products
- Aimstack Aim 3.25.0 (Python package)
- Deployments exposing the Aim web API to untrusted networks
- Downstream ML platforms embedding the Aim server component
Discovery Timeline
- 2025-03-20 - CVE-2024-12778 published to the National Vulnerability Database (NVD)
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2024-12778
Vulnerability Analysis
The Aim web API exposes endpoints for retrieving tracked experiment metrics. The vulnerable endpoint accepts a caller-supplied list of metrics and returns their series data in a single response. No server-side validation caps the number of metrics per request, so callers can request arbitrarily large batches.
Because the Aim web server runs on a single thread, one expensive request blocks all subsequent processing. While the server iterates over the requested metrics and serializes results, additional client requests queue indefinitely. The process consumes memory and CPU proportional to the requested batch size, eventually exhausting available resources.
The result is a persistent denial of service condition. Legitimate users cannot access dashboards, submit new experiment runs, or query historical data until the process is restarted. The vulnerability affects confidentiality and integrity minimally but has a direct impact on availability.
Root Cause
The root cause is the absence of input throttling and pagination on the metrics retrieval endpoint, combined with a single-threaded server architecture. The API design trusts client input to be reasonably bounded and performs no rate limiting, request size validation, or concurrency isolation between requests.
Attack Vector
The attack vector is network-based and requires no authentication or user interaction. An attacker with reachability to the Aim web API sends an HTTP request enumerating a large number of tracked metrics. Because most Aim deployments in research environments run without authentication behind the assumption of internal use, exposure to broader networks or shared infrastructure amplifies risk.
The vulnerability manifests in the metrics query handler of the Aim web API. No public proof-of-concept code or exploit is available. See the Huntr Bounty Listing for reporter-provided technical details.
Detection Methods for CVE-2024-12778
Indicators of Compromise
- Sudden unresponsiveness of the Aim web server process while CPU or memory utilization spikes
- HTTP requests to Aim metrics API endpoints containing unusually long metric name lists or oversized query payloads
- Repeated timeouts from downstream clients or reverse proxies fronting Aim
- Aim server logs showing long-running metric retrieval requests immediately preceding hangs
Detection Strategies
- Instrument the Aim server or its reverse proxy to log request payload sizes and metric counts per API call
- Alert on any single request that references metric counts exceeding an expected operational baseline
- Correlate process resource exhaustion events on Aim hosts with inbound API request patterns
Monitoring Recommendations
- Track HTTP 5xx rates and request latency against the Aim web API and alert on sustained degradation
- Monitor Aim server process memory and CPU consumption over time
- Enable access logging at the reverse proxy layer so that source IPs and full query strings are retained for incident review
How to Mitigate CVE-2024-12778
Immediate Actions Required
- Restrict network access to the Aim web API to trusted internal hosts using firewall rules or network policies
- Place the Aim server behind a reverse proxy that enforces request size limits and per-client rate limiting
- Restart affected Aim server processes to recover from active resource exhaustion conditions
- Audit exposure of Aim deployments to public networks and remove unnecessary internet accessibility
Patch Information
At the time of last NVD modification, no fixed version has been published in the enriched data for aimhubio/aim. Monitor the Huntr Bounty Listing and the upstream Aim repository for a remediated release, and upgrade beyond version 3.25.0 once available.
Workarounds
- Deploy a reverse proxy such as nginx in front of Aim and cap request body size and URL length
- Enforce per-IP connection and request rate limits at the proxy or WAF layer
- Add authentication in front of the Aim web API using an authenticating proxy where feasible
- Segment Aim deployments to isolated networks so a hung server does not disrupt other services
# Example nginx reverse proxy hardening for Aim
http {
limit_req_zone $binary_remote_addr zone=aim_rl:10m rate=10r/s;
server {
listen 443 ssl;
server_name aim.internal.example.com;
client_max_body_size 64k;
large_client_header_buffers 4 8k;
location / {
limit_req zone=aim_rl burst=20 nodelay;
proxy_pass http://127.0.0.1:43800;
proxy_read_timeout 15s;
proxy_send_timeout 15s;
}
}
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

