OpenSearch parses query_string input into query trees containing nested Boolean groups and non-Boolean disjunctions. The indices.query.bool.max_clause_count limit is enforced per BooleanQuery node rather than across the complete query tree. In addition, DisjunctionMaxQuery structures created during multi-field processing are not bounded by the corresponding Boolean clause limit. An attacker-controlled input can therefore keep each node below the configured threshold while greatly increasing the total tree size, causing excessive CPU and heap consumption. The relevant processing paths include QueryStringQueryParser, MultiMatchQuery, SearchService, and Lucene's clause-limit enforcement. The exact exposure depends on whether a deployment allows untrusted clients to submit query_string queries; the available record does not establish the authentication configuration for every deployment.