CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-J659-8XH6-5PQ5

GHSA-J659-8XH6-5PQ5: Financial Guardrail Bypass in atomic-agents-stack via Parallel Execution of Unlisted Models

Amit Schendel
Amit Schendel
Senior Security Researcher

Aug 18, 2026·7 min read·14 visits

Executive Summary (TL;DR)

Unrecognized LLMs evaluate to a $0.00 reservation cost, completely bypassing batch cost guardrails and allowing infinite execution spend.

A high-severity vulnerability in the atomic-agents-stack framework allows complete bypass of cost-cap guardrails during parallel model execution when utilizing unlisted, local, or self-hosted models.

Vulnerability Overview

The atomic-agents-stack framework is an orchestration platform designed to run and coordinate multi-agent artificial intelligence pipelines. The package exposes interfaces for running concurrent helper tasks, which utilize parallel processing to improve overall response times. To prevent runaway financial costs, the framework implements a cost-tracking mechanism configured via a budget ceiling.

This vulnerability resides in the automated cost-estimation logic responsible for evaluating potential transaction charges prior to execution. When an operator integrates custom or self-hosted models that are not cataloged within the local library definitions, the system fails to apply safety thresholds. The security boundaries are consequently bypassed, presenting a significant financial risk to deployments.

The vulnerability represents a classic example of CWE-770 (Allocation of Resources Without Limits or Throttling). It specifically exposes the framework to parallel execution exhaustion attacks, wherein concurrent agent processes skip the reservation queue. The resulting unmonitored activity can result in unrestrained token consumption.

Root Cause Analysis

In multi-agent architectures, parallel processes run concurrently and execute tasks independently. To implement cost limits, the system must evaluate estimated costs before dispatching requests. Because multiple threads initialize at the exact same moment, they face a concurrency hazard known as a fan-out race.

If a standard database lookup occurs, each concurrent process checks the current spent total against the budget ceiling. Since no operations have finished writing back their completed costs, all processes read the same outdated ledger value. Each individual thread registers the transaction as safe, which bypasses the configured cap and allows the group to execute fully.

To mitigate this issue, the framework uses a pessimistic reservation mechanism. Before dispatching any batch, the framework estimates the cost of the entire transaction group and locks this reservation value on disk. Subsequent execution threads read this reservation and instantly halt if the combined projected costs exceed the budget ceiling.

The primary defect exists because the reservation calculation evaluates to zero when handling unrecognized models. This null valuation tricks the validation function into skipping the reservation entirely, disabling the defensive locking mechanism.

Code Analysis

The vulnerability is located within the _estimate_batch_cost function in the atomic_agents/agent.py source file. The code attempts to retrieve the model configuration from a predefined pricing table using a default dictionary retrieval method. When the model is absent, it yields an empty dictionary.

# Vulnerable Code block in atomic_agents/agent.py
def _estimate_batch_cost(model, ...):
    # If the model is not found, get() returns an empty dictionary
    pricing = PRICING.get(model, {})
    
    # An empty dictionary causes .get() to evaluate to the fallback float value
    output_price = pricing.get('output', 0.0) 
    input_price = pricing.get('input', 0.0)
    
    # The calculation results in a total reservation value of 0.0
    total_estimated_reservation_cost = (input_price * estimated_inputs) + (output_price * estimated_outputs)
    return total_estimated_reservation_cost

This calculation returns exactly 0.0. Subsequently, the system executes the validation check through the helper function _check_batch_reservation. If the calculated cost reservation is equal to or less than zero, the security logic returns immediately without writing any state to the disk database.

# Vulnerable reservation validation in atomic_agents/agent.py
def _check_batch_reservation(reservation, ...):
    # If the reservation is zero or negative, the security logic is bypassed
    if reservation <= 0:
        return  # Early exit blocks reservation registry

The system fixes this defect by standardizing lookup strategies across all modules. The patched version incorporates a defensive helper method _costs._fallback_pricing() to supply safe default financial valuations when a model identifier is missing.

# Patched Code block in atomic_agents/agent.py
def _estimate_batch_cost(model, ...):
    # Leverage fallback pricing to ensure a non-zero estimation
    pricing = PRICING.get(model, _costs._fallback_pricing())
    
    output_price = pricing.get('output')
    input_price = pricing.get('input')
    
    # Non-zero reservation enforces the cost check logic
    return (input_price * estimated_inputs) + (output_price * estimated_outputs)

Exploitation & Attack Methodology

Exploiting this flaw does not require complex remote shellcode or injection vectors. The primary threat vector manifests when the orchestration layer processes parallel tasks using unlisted model identifiers. This occurs naturally in installations using local deployments, such as Ollama or vLLM endpoints.

An attacker can trigger this state if they possess the ability to manipulate input parameters that dictate the choice of downstream helper models. If an agent system dynamically routes requests to models based on user input, the attacker can pass an arbitrary string as the model parameter. The system accepts the unrecognized string, maps it to the empty configuration, and disables the safety checks.

Once the reservation mechanism is bypassed, the attacker can deploy massive parallel batch requests. Since no reservation is registered on disk, the system launches multiple worker processes concurrently. The processes run to completion and consume API resources before the master tracker updates the global usage statistics.

> [!NOTE] > While this behavior is often triggered accidentally by developers running local models, it represents an exploitable vector for denial-of-service and direct financial resource exhaustion.

Impact Assessment

The vulnerability is evaluated with a CVSS v4 score of 8.7, indicating a high-impact threat to operational and financial integrity. Although the defect does not allow an attacker to read arbitrary files or execute code on the host machine, the lack of throttling represents a severe threat to operational stability.

The primary consequence is unrestricted financial depletion. Organizations that deploy multi-agent workflows often rely on cost guardrails to contain costs from malfunctioning logic, recursive agent feedback loops, or automated spam. A bypass of these limits can consume thousands of dollars in API credits within a very short timeframe.

Because the bypass occurs pre-execution, standard internal monitoring tools will not raise alerts until after the resource consumption has occurred. This makes detecting active exploitation or runaway execution loops extremely difficult using localized application logs. The organization must rely on downstream API provider alerts, which are typically delayed.

Remediation & Mitigations

The definitive remediation is to upgrade the atomic-agents-stack package to version 1.1.0 or higher. This update unifies the cost estimation logic across all active components, ensuring that unknown models resolve to safe, non-zero fallback prices. This forces the validation logic to register a reservation and effectively blocks unauthorized parallel executions.

For systems where an immediate upgrade is not feasible, operators must manually pre-populate the pricing catalog. This can be achieved by writing a startup routine that injects custom model keys and rates directly into the framework's internal registry.

# Safe workaround configuration at application bootstrap
from atomic_agents import _costs
 
# Register custom self-hosted or local model definitions
_costs.PRICING["ollama/unlisted-model"] = {
    "input": 0.0015,  # Input token cost per thousand
    "output": 0.0020, # Output token cost per thousand
}

Organizations should also implement rate limits at the API proxy layer. Restricting the maximum number of concurrent requests allowed by the API key provides an independent safety boundary that mitigates the impact of application-layer bypasses.

Technical Appendix

CVSS Score
8.7/ 10

Affected Systems

atomic-agents-stack

Affected Versions Detail

Product
Affected Versions
Fixed Version
atomic-agents-stack
dep0we
<= 1.0.01.1.0
AttributeDetail
CWE IDCWE-770
Attack VectorNetwork
CVSS v4 Score8.7
Exploit StatusProof of Concept Available
CISA KEV StatusNot Listed
Affected Componentsatomic_agents/agent.py

References & Sources

  • [1]GitHub Security Advisory GHSA-j659-8xh6-5pq5
  • [2]Repository Advisory Details
  • [3]Project GitHub Release Notes (v1.1.0)
  • [4]Source Code Repository

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•1 day ago•CVE-2026-11748
6.9

CVE-2026-11748: Unauthenticated LDAP Injection in Central Dogma Server Authentication

An LDAP injection vulnerability exists in the centraldogma-server-auth-shiro module of LY Corporation Central Dogma before version 0.84.0. The search logic dynamically constructs LDAP search filters by interpolating user-provided usernames without escaping RFC 4515 metacharacters. Unauthenticated remote attackers can leverage this flaw to bypass authentication, enumerate directory hierarchies, and access unauthorized resources.

Alon Barad
Alon Barad
9 views•6 min read
•1 day ago•CVE-2026-11746
9.4

CVE-2026-11746: Use of Hard-coded ZooKeeper Replication Secret 'ch4n63m3' in Central Dogma Server

CVE-2026-11746 is a critical vulnerability in Central Dogma Server prior to version 0.84.0, where an embedded ZooKeeper replication secret silently falls back to a publicly known, hard-coded default string ('ch4n63m3'). Remote attackers with access to the replication network can authenticate as legitimate cluster peers, potentially leading to unauthorized data exposure, state manipulation, or complete cluster takeover.

Amit Schendel
Amit Schendel
7 views•6 min read
•1 day ago•CVE-2026-56665
4.2

CVE-2026-56665: Logical Validation Bypass in ZITADEL External JWT Identity Provider

A logical verification flaw in ZITADEL's external JWT Identity Provider validation allows attackers to bypass session expiration checks. If an incoming JWT lacks the 'exp' claim, the system skips validation entirely, creating an indefinitely valid session. This issue has been addressed in versions 3.4.12 and 4.15.2.

Alon Barad
Alon Barad
6 views•7 min read
•1 day ago•CVE-2026-59149
6.5

CVE-2026-59149: Sibling Directory Path Traversal in Mockoon Backend Server

CVE-2026-59149 identifies a directory traversal vulnerability in `@mockoon/commons-server`, the backend mock-server library powering the Mockoon application. The flaw occurs in the path containment validation logic used during raw file response generation. An unauthenticated attacker can exploit this weakness to retrieve arbitrary files from sibling directories sharing a common prefix with the designated static base directory.

Amit Schendel
Amit Schendel
9 views•5 min read
•1 day ago•CVE-2026-59148
8.8

CVE-2026-59148: Unauthenticated Administrative API and CORS Misconfiguration in Mockoon

An in-depth analysis of CVE-2026-59148, a high-severity flaw in Mockoon where unauthenticated administrative endpoints and a wildcard Cross-Origin Resource Sharing (CORS) policy allow remote execution, state poisoning, and credential theft.

Alon Barad
Alon Barad
11 views•6 min read
•1 day ago•CVE-2026-56666
4.8

CVE-2026-56666: Account Takeover via Improper Email Verification in ZITADEL Federated Identity Handler

An improper authentication vulnerability (CWE-287) in ZITADEL's external identity provider handler before version 4.15.3 allows remote attackers to perform complete account takeover. When auto-linking by email is enabled, ZITADEL verifies that the local target account has a verified email address but fails to verify if the external provider confirmed ownership of that same email. Attackers can exploit this by registering an unverified account with a victim's email address on a permissive external provider, leading to unauthorized account binding and persistent access.

Amit Schendel
Amit Schendel
7 views•7 min read