An issue was discovered in Squid through 4.7. When handling the tag esi:when when ESI is enabled, Squid calls ESIExpression::Evaluate. This function uses a fixed stack buffer to hold the expression while it's being evaluated. When processing the expression, it could either evaluate the top of the stack, or add a new member to the stack. When adding a new member, there is no check to ensure that the stack won't overflow.
The product writes data past the end, or before the beginning, of the intended buffer.
Link | Tags |
---|---|
https://gitlab.com/jeriko.one/security/-/blob/master/squid/CVEs/CVE-2019-12519.txt | third party advisory |
http://www.openwall.com/lists/oss-security/2020/04/23/1 | third party advisory mailing list |
https://www.debian.org/security/2020/dsa-4682 | third party advisory vendor advisory |
http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00018.html | vendor advisory mailing list third party advisory |
https://security.gentoo.org/glsa/202005-05 | third party advisory vendor advisory |
https://usn.ubuntu.com/4356-1/ | third party advisory vendor advisory |
https://lists.debian.org/debian-lts-announce/2020/07/msg00009.html | third party advisory mailing list |
https://security.netapp.com/advisory/ntap-20210205-0006/ | third party advisory |