The vulnerability is an integer overflow that occurs in multiple data builder classes within Elasticsearch's ES|QL engine. When creating or resizing data blocks (e.g., BooleanBlockBuilder, DoubleBlockBuilder), the code calculates the required memory by multiplying the number of elements by the size of each element. Both of these values are integers. If a malicious user provides input that leads to a very large number of elements, this multiplication can overflow the 32-bit integer range, resulting in a small or negative number. This incorrect size is then passed to a memory circuit breaker, which fails to detect the massive allocation that is about to happen. Consequently, the JVM attempts to allocate a huge chunk of memory, leading to an OutOfMemoryError and a Denial of Service. The patch addresses this by casting the multiplication operands to long, a 64-bit integer, which prevents the overflow and ensures the circuit breaker receives the correct memory size.