PT-2026-82819

تاريخ النشر

2026-08-17

·

تاريخ التحديث

2026-08-17

الوصف من

CVSS 4.0
8.7
عالية
المقاييسAV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
estimate batch cost (atomic agents/agent.py) looks up the per-model output price with PRICING.get(model, {}), returning 0.0 for any model not in the hardcoded pricing table. check batch reservation then early-returns when the reservation is <= 0, skipping the batch reservation entirely. That reservation is the only defense against the documented fan-out race where every parallel helper/delegate reads the identical pre-batch on-disk cost total and each passes its individual check even though the collective spend overruns the configured cap.
Impact: an operator running any model not in the pricing table (self-hosted/Ollama/vLLM, a new provider SKU) with cost guardrails + daily cap usd set believes the cap protects them, but a single parallel batch can blow past the cap. The parallel-helper model argument can also be steered to an unknown id. The sibling dream. estimate dream cost does this correctly (PRICING.get(model, fallback pricing())), which makes this a clear defect.
Affected: agent.py ( estimate batch cost / check batch reservation), all versions through 1.0.0.
Fix: use PRICING.get(model, costs. fallback pricing())['output'] (mirror dream/calc cost). Add a conformance test asserting an unknown-model batch reserves > 0 and that an over-cap unknown-model batch raises CostGuardrailBlocked.
قابلية الاستغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
المعرّفات ذات الصلة
GHSA-J659-8XH6-5PQ5
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾