In PHP ext-soap, get_http_body() accumulates chunked SOAP response data and checks buffer growth with additions performed on int variables. The check depends on signed integer overflow, which is undefined behaviour in C and may be removed by the compiler. When that branch is removed, zend_string_realloc() can receive a wrapped length, allocate substantially less memory than the subsequent read loop writes, and trigger a heap buffer overflow.
The vulnerable component is the SOAP HTTP client, and the attacker-controlled input is the SOAP response. The advisory states that the fix changes the accumulated size to size_t, bounds each growth step before allocation, and uses zend_string_safe_realloc() to check multiplication and addition. The final result, such as a crash or memory corruption, depends on the heap layout and the compiler used to build PHP.