Squid Proxy Cache Security Update Advisory SQUID-2002:1
Advisory ID: SQUID-2002:1
Date: February 21, 2002
Affected versions: Squid-2.x up to and including 2.4.STABLE3
Three security issues have recently been found in the Squid-2.X
releases up to and including 2.4.STABLE3.
a) A memory leak in the optional SNMP interface to Squid,
allowing an malicious user who can send packets to the Squid SNMP
port to possibly perform an denial of service attack on the Squid
proxy service if the SNMP interface has been enabled (disabled by
b) A buffer overflow in the implementation of ftp:// URLs where
users who are allowed to proxy ftp:// URLs via Squid can perform
an denial of service on the proxy service, and possibly even
trigger remote execution of code (not yet confirmed).
c) The optional HTCP interface cannot be properly disabled from
squid.conf even if the documentation claims it can. The HTCP
interface to Squid is not enabled by default, but can be enabled
at compile time using the --enable-htcp configure option and some
vendors distribute Squid binaries with HTCP enabled.
The Squid-2.4.STABLE/4 release contains fixes for all these
problems. The Squid-2.4.STABLE/4 release can be found from
or the mirrors (may take a while before all mirrors are updated).
For a list of mirror sites see
Individual patches to the mentioned issues can be found from our
patch archive for version Squid-2.4.STABLE/3
The patches should also apply with only a minimal effort to
earlier Squid versions if required.
Determining if your are vulnerable:
You are vulnerable to the SNMP issue if you are running any 2.x
version of squid up to squid-2.4.STABLE/3 which has the SNMP agent
code compiled in (--enable-snmp configure option) and enabled in
squid.conf (snmp_port option). You can check to see whether the
SNMP code is enabled by looking for the following message in
cache.log when Squid is started:
'Accepting SNMP messages on port'
Similarly for the HTCP issue, but looking for the message
'Accepting HTCP messages on port'
The ftp:// issue cannot be verified as easily, but if you are
running Squid-2.3 or Squid-2.4 up to and including
Squid-2.4.STABLE/3 then you are most likely vulnerable to the
ftp:// issue unless you have taken action.
For the SNMP issue, make sure the SNMP port cannot be reached by
malicious users. The safest method is to disable the SNMP support
entirely in the configuration file squid.conf if SNMP has been
enabled in your binary
Or at least restrict it to only listen for SNMP on a trusted
interfaces such as localhost by using the snmp_incoming_address
The FTP issue can be worked around by denying access to
non-anonymous FTP via Squid. Insert the following two lines at
the top of your squid.conf:
acl non-anonymous-ftp url_regex -i ^ftp://[^/@]*@
http_access deny non-anonymous-ftp
The HTCP issue cannot be worked around fully by configuration
alone, but you can restrict which IP address HTCP is listening
for messages on by using the udp_incoming_address directive. Make
sure your binary isn't compiled with support for HTCP unless you
have a reason to use HTCP.
We also encourage you to take advantage of packet filtering
features of your operating system (e.g, ipchains, iptables,
ipfw, pf) and/or routers/firewalls to discard Squid SNMP (UDP
port 3401) or HTCP (UDP port 4827) queries from hosts outside
of your organization unless specifically authorized to use these