Description
An issue was discovered in Squid through 4.7. When Squid is parsing ESI, it keeps the ESI elements in ESIContext. ESIContext contains a buffer for holding a stack of ESIElements. When a new ESIElement is parsed, it is added via addStackElement. addStackElement has a check for the number of elements in this buffer, but it's off by 1, leading to a Heap Overflow of 1 element. The overflow is within the same structure so it can't affect adjacent memory blocks, and thus just leads to a crash while processing.
Remediation
References
Related Vulnerabilities
WordPress 3.9.x Cross-Site Request Forgery (3.9 - 3.9.26)
WordPress Plugin eShop Multiple Cross-Site Scripting Vulnerabilities (6.2.8)
WordPress Plugin Shopping Cart & eCommerce Store Arbitrary File Upload (3.0.8)
Coppermine Open Redirection Vulnerability (CVE-2015-3922)
Oracle Database Server CVE-2008-2608 Vulnerability (CVE-2008-2608)