Chunked encoding is a means to transfer variable-sized units of data (called chunks) from a web client to a web server. There is an arithmetic error in the way Apache calculates the size of a buffer used to hold a chunk. The result is that Apache allocates a buffer that is too small, allowing an intruder to overflow the buffer.

Buffers used to store chunks are allocated on the heap, and therefore this vulnerability can be called a heap-based buffer overflow. Exploiting a heap-based buffer overflow to gain control of a system can sometimes be more difficult than exploiting other kinds of buffer overflows to gain control. However, the failure is more conducive to gaining control of the system than other typical heap-based buffer overflows.