Aug 18, 2026·7 min read·15 visits
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.
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.
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.
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_costThis 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 registryThe 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)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.
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.
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.
| Product | Affected Versions | Fixed Version |
|---|---|---|
atomic-agents-stack dep0we | <= 1.0.0 | 1.1.0 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-770 |
| Attack Vector | Network |
| CVSS v4 Score | 8.7 |
| Exploit Status | Proof of Concept Available |
| CISA KEV Status | Not Listed |
| Affected Components | atomic_agents/agent.py |
A high-severity race condition vulnerability exists in @payloadcms/plugin-ecommerce within the Stripe payment adapter's order confirmation pipeline. Unauthenticated attackers or parallel webhook deliveries can exploit sequential, non-atomic database operations to bypass state verifications, leading to duplicate order creation, multiple inventory decrements, and inconsistent database records.
A sensitive data exposure vulnerability in Payload CMS allows authenticated low-privilege users to retrieve decrypted, plaintext API keys of other users, including administrators, leading to full administrative account takeover and privilege escalation.
CVE-2026-86540 is a high-severity arbitrary code execution vulnerability in knowns, a repository management tool. The vulnerability occurs when the application parses and executes unvalidated language server binary overrides defined within a project's local configuration file.
Payload CMS, a popular open-source headless Content Management System, contains a critical Regular Expression Denial of Service (ReDoS) and uncontrolled resource consumption vulnerability in versions prior to 3.90.0 and canary versions prior to 4.0.0-canary.34. Due to nested quantifiers in the multipart boundary regex validation pattern, and the absence of streaming backpressure controls, remote attackers can trigger catastrophic backtracking and memory exhaustion. This blocks the single-threaded Node.js event loop, resulting in a persistent and complete Denial of Service (DoS).
An Improper Access Control vulnerability (CWE-284) in Payload CMS prior to version 3.90.0 and 4.0.0-canary.34 allows authenticated, low-privileged users to bypass field-level access control restrictions and overwrite the password of other accounts, leading to complete account takeover and privilege escalation.
Payload CMS was discovered to use an insecure default configuration for its password-hashing mechanism. The system requested a 512-byte key from PBKDF2-HMAC-SHA256 with 25,000 iterations, creating a severe cryptographic asymmetry. While the defending server sequentially computed 16 blocks of key material (equivalent to 400,000 internal iterations), an offline attacker only needed to compute the first 32-byte block to verify password guesses. This allowed offline attackers to crack stolen database hashes 16 times faster than intended by the security design.