__________________________________________________________________ Squid Proxy Cache Security Update Advisory SQUID-2018:1 __________________________________________________________________ Advisory ID: SQUID-2018:1 Date: Jan 19, 2018 Summary: Denial of Service issue in ESI Response processing. Affected versions: Squid 3.x -> 3.5.27 Squid 4.x -> 4.0.22 Fixed in version: Squid 3.5.28, 4.0.23 __________________________________________________________________ http://www.squid-cache.org/Advisories/SQUID-2018_1.txt https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000024 __________________________________________________________________ Problem Description: Due to incorrect pointer handling Squid is vulnerable to denial of service attack when processing ESI responses. __________________________________________________________________ Severity: This problem allows a remote server delivering certain ESI response syntax to trigger a denial of service for all clients accessing the Squid service. Due to unrelated changes Squid-3.5 has become vulnerable to some regular ESI server responses also triggering this issue. This problem is limited to the Squid custom ESI parser. Squid built to use libxml2 or libexpat XML parsers do not have this problem. __________________________________________________________________ Updated Packages: This bug is fixed by Squid version 4.0.23. In addition, patches addressing this problem for the stable releases can be found in our patch archives: Squid 3.5: Squid 4: If you are using a prepackaged version of Squid then please refer to the package vendor for availability information on updated packages. __________________________________________________________________ Determining if your version is vulnerable: All Squid-2.x are not vulnerable. All Squid built with --disable-esi are not vulnerable. All Squid configured with "esi_parser expat" are not vulnerable. All Squid configured with "esi_parser libxml2" are not vulnerable. All Squid-3.0 versions built without --enable-esi are not vulnerable. All Squid-3.0 versions built with --enable-esi and using custom ESI parser for reverse-proxy are vulnerable. All Squid-3.1 and later versions up to and including Squid-3.5.27 being used for reverse-proxy are vulnerable. All Squid-3.1 and later versions up to and including Squid-3.5.27 being used for TLS / HTTPS interception are vulnerable. All unpatched Squid-4 up to and including Squid-4.0.22 being used as reverse-proxy are vulnerable. All unpatched Squid-4 up to and including Squid-4.0.22 being used as TLS/HTTPS intercept proxy are vulnerable. __________________________________________________________________ Workarounds: Either; Build Squid with --disable-esi Or, Build Squid with "--enable-esi --with-libxml2" and in squid.conf configure "esi_parser libxml2" Or, Build Squid with "--enable-esi --with-expat" and in squid.conf configure "esi_parser expat" __________________________________________________________________ Contact details for the Squid project: For installation / upgrade support on binary packaged versions of Squid: Your first point of contact should be your binary package vendor. If your install and build Squid from the original Squid sources then the squid-users@lists.squid-cache.org mailing list is your primary support point. For subscription details see . For reporting of non-security bugs in the latest STABLE release the squid bugzilla database should be used . For reporting of security sensitive bugs send an email to the squid-bugs@lists.squid-cache.org mailing list. It's a closed list (though anyone can post) and security related bug reports are treated in confidence until the impact has been established. __________________________________________________________________ Credits: The initial issue was reported by Louis Dion-Marcil on behalf of GoSecure. Fixed by Amos Jeffries from Treehouse Networks Ltd. __________________________________________________________________ Revision history: 2017-12-13 20:09:30 UTC Initial Report 2018-01-18 23:10:00 UTC Patches Released 2018-01-21 07:45:00 UTC Advisory and fixed packages released 2018-07-28 04:24:00 UTC Update after 3.5.28 release __________________________________________________________________ END