Summary
CreateSandbox and the inference route create/update handlers accept the full request body without enforcing any maximum size or length on spec fields, provider lists, policy blob, or route strings. A client could send very large payloads and stress the store, memory, or serialization path, contributing to DoS or resource exhaustion.
Source Code
crates/navigator-server/src/grpc.rs: create_sandbox (lines 62-151) takes CreateSandboxRequest, extracts the spec, validates that spec and policy exist and that provider names exist in the store, but does not check length or size.
crates/navigator-server/src/inference.rs: the create/update route handlers validate route spec fields for non-empty trimmed strings in validate_route_spec but do not impose maximum lengths on routing_hint, base_url, api_key, model_id, or on the overall message size.
Originally by @drew on 2026-02-19T08:59:31.580-08:00
Summary
CreateSandboxand the inference route create/update handlers accept the full request body without enforcing any maximum size or length on spec fields, provider lists, policy blob, or route strings. A client could send very large payloads and stress the store, memory, or serialization path, contributing to DoS or resource exhaustion.Source Code
crates/navigator-server/src/grpc.rs:create_sandbox(lines 62-151) takesCreateSandboxRequest, extracts the spec, validates that spec and policy exist and that provider names exist in the store, but does not check length or size.crates/navigator-server/src/inference.rs: the create/update route handlers validate route spec fields for non-empty trimmed strings invalidate_route_specbut do not impose maximum lengths onrouting_hint,base_url,api_key,model_id, or on the overall message size.Originally by @drew on 2026-02-19T08:59:31.580-08:00