[squid-announce] [ADVISORY] SQUID-2020:12 Out-Of-Bounds memory access in WCCPv2

Amos Jeffries squid3 at treenet.co.nz
Mon Oct 4 01:34:07 UTC 2021


__________________________________________________________________

     Squid Proxy Cache Security Update Advisory SQUID-2020:12
__________________________________________________________________

Advisory ID:       | SQUID-2020:12
Date:              | Oct 03, 2021
Summary:           | Out-Of-Bounds memory access in WCCPv2
Affected versions: | Squid 2.6 -> 2.7.STABLE9
                    | Squid 3.x -> 3.5.28
                    | Squid 4.x -> 4.16
                    | Squid 5.x -> 5.1
Fixed in version:  | Squid 4.17 and 5.2
__________________________________________________________________

   <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28116>
   <https://www.zerodayinitiative.com/advisories/ZDI-CAN-11610>
__________________________________________________________________

Problem Description:

  Due to an out of bounds memory access Squid is vulnerable to an
  information leak vulnerability when processing WCCPv2 messages.

__________________________________________________________________

Severity:

  This problem allows a WCCPv2 sender to corrupt Squids list of
  known WCCP routers and divert client traffic to attacker
   controlled routers.

  This attack is limited to Squid proxy with WCCPv2 enabled and
  IP spoofing of a router IP address configured as trusted in
  squid.conf.

CVSS Score of 7.7
<https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N/E:X/RL:O/RC:C/CR:H/IR:H/AR:X/MAV:N/MAC:H/MPR:N/MUI:X/MS:U/MC:H/MI:H/MA:X&version=3.1>

__________________________________________________________________

Updated Packages:

This bug is fixed by Squid versions 4.17 and 5.2.

  In addition, patches addressing this problem for the stable
  releases can be found in our patch archives:

Squid 4:
  <http://www.squid-cache.org/Versions/v4/changesets/SQUID-2020_12.patch>

Squid 5:
 
<http://www.squid-cache.org/Versions/v5/changesets/squid-5-7a73a54cefff6bb83c03de219a73276e42d183d0.patch>

  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 built with --disable-wccpv2 are not vulnerable.

  All Squid-3.x up to and including 3.5.28 built with
  --enable-wccpv2 and configured with wccp2_router in squid.conf
  are vulnerable.

  All Squid-3.x up to and including 3.5.28 built without
  --disable-wccpv2 and configured with wccp2_router in squid.conf
  are vulnerable.

  All Squid-4.x up to and including 4.16 built with
  --enable-wccpv2 and configured with wccp2_router in squid.conf
  are vulnerable.

  All Squid-4.x up to and including 4.16 built without
  --disable-wccpv2 and configured with wccp2_router in squid.conf
  are vulnerable.

  All Squid-5.x up to and including 5.1 built with
  --enable-wccpv2 and configured with wccp2_router in squid.conf
  are vulnerable.

  All Squid-5.x up to and including 5.1 built without
  --disable-wccpv2 and configured with wccp2_router in squid.conf
  are vulnerable.

__________________________________________________________________

Workaround:

Either,

The following network security Best Practices will greatly
restrict the ability of any attacker utilizing this
vulnerability. They can be considered workarounds for this
issue:

  * Use Private IP address for control communications (eg WCCPv2)
    with routers.

  * Firewall restriction of UDP traffic on port 2048 and any
    other UDP ports used for WCCP(v2) control messages to only
    permit known devices to communicate with WCCP(v2).

    Note that ports used by clients and diverted by WCCP (eg 80
    or 443) are not relevant.

  * Ensure the network implements BCP 38 spoofing protection.
    Include protection against LAN traffic spoofing as much as
    possible.
    See also <http://www.bcp38.info> and 
<https://tools.ietf.org/html/bcp38>.

Or,

  Build Squid with --disable-wccpv2

Or,

  Remove all lines for wccp2_* directives from squid.conf.
  The default configuration is not to enable WCCPv2.

__________________________________________________________________

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 you install and build Squid from the original Squid sources
  then the <squid-users at lists.squid-cache.org> mailing list is
  your primary support point. For subscription details see
  <http://www.squid-cache.org/Support/mailing-lists.html>.

  For reporting of non-security bugs in the latest STABLE release
  the squid bugzilla database should be used
  <http://bugs.squid-cache.org/>.

  For reporting of security sensitive bugs send an email to the
  <squid-bugs at 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:

  This vulnerability was discovered by Lyu working with Trend
  Micro Zero Day Initiative.

  Fixed by Amos Jeffries of Treehouse Networks Ltd.

__________________________________________________________________

Revision history:

  2020-08-17 10:43:36 UTC Initial Report
  2021-02-09 00:00:00 UTC Advisory Release by ZDI
  2021-10-03 00:00:00 UTC Packages Released

__________________________________________________________________
END


More information about the squid-announce mailing list