Vulnerabilities > CVE-2004-0189 - Unspecified vulnerability in Squid

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
network
low complexity
squid
nessus
exploit available

Summary

The "%xx" URL decoding function in Squid 2.5STABLE4 and earlier allows remote attackers to bypass url_regex ACLs via a URL with a NULL ("%00") character, which causes Squid to use only a portion of the requested URL when comparing it against the access control lists.

Exploit-Db

descriptionSquid Proxy 2.4/2.5 NULL URL Character Unauthorized Access Vulnerability. CVE-2004-0189. Remote exploit for linux platform
idEDB-ID:23777
last seen2016-02-02
modified2004-03-01
published2004-03-01
reporterMitch Adair
sourcehttps://www.exploit-db.com/download/23777/
titleSquid Proxy 2.4/2.5 NULL URL Character Unauthorized Access Vulnerability

Nessus

  • NASL familyFirewalls
    NASL idSQUID_NULL_URL_AUTH_BYPASS.NASL
    descriptionThe remote squid caching proxy, according to its version number, is vulnerable to a flaw that could allow an attacker to gain access to unauthorized resources. The flaw itself consists of sending a malformed username containing the %00 (null) character, which could allow an attacker to access otherwise restricted resources.
    last seen2020-06-01
    modified2020-06-02
    plugin id12124
    published2004-04-04
    reporterThis script is Copyright (C) 2004-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/12124
    titleSquid %xx URL Encoding ACL Bypass
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(12124);
      script_version("1.23");
      script_cvs_date("Date: 2018/07/30 15:31:32");
    
      script_cve_id("CVE-2004-0189");
      script_bugtraq_id(9778);
    
      script_name(english:"Squid %xx URL Encoding ACL Bypass");
      script_summary(english:"Determines squid version");
    
      script_set_attribute(attribute:'synopsis', value:"The remote service is vulnerable to an authentication bypass.");
      script_set_attribute(attribute:'description', value:
    "The remote squid caching proxy, according to its version number, is
    vulnerable to a flaw that could allow an attacker to gain access to
    unauthorized resources.
    
    The flaw itself consists of sending a malformed username containing
    the %00 (null) character, which could allow an attacker to access
    otherwise restricted resources.");
      script_set_attribute(attribute:'see_also', value:"http://www.squid-cache.org/Advisories/SQUID-2004_1.txt");
      script_set_attribute(attribute:'solution', value:"Upgrade to squid 2.5.STABLE6 or newer");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2004/02/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/04/04");
    
      script_set_attribute(attribute:"potential_vulnerability", value:"true");
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:squid-cache:squid");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2004-2018 Tenable Network Security, Inc.");
      script_family(english:"Firewalls");
    
      script_dependencie("squid_version.nasl");
      script_require_keys("www/squid", "Settings/ParanoidReport");
      script_require_ports("Services/http_proxy",3128, 8080);
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    
    if (report_paranoia < 2) audit(AUDIT_PARANOID);
    
    # Build a list of ports from the
    list = get_kb_list("http_proxy/*/squid/version");
    if (isnull(list)) exit(0, "The host does not appear to be running a Squid proxy server.");
    
    vulnerable = FALSE;
    foreach item (keys(list))
    {
      port = ereg_replace(pattern:'^http_proxy/([0-9]+)/squid/version', replace:'\\1', string:item);
      version = list[item];
      source = get_kb_item('http_proxy/'+port+'/squid/source');
    
      if (
        version =~ '^2\\.[0-4]\\.' ||
        version =~ '^2\\.5\\.STABLE[0-4]([^0-9]|$)'
      )
      {
        vulnerable = TRUE;
        if (report_verbosity > 0)
        {
          report =
            '\n  Version source    : ' + source +
            '\n  Installed version : ' + version +
            '\n  Fixed version     : 2.5.STABLE5' + '\n';
          security_hole(port:port, extra:report);
        }
        else security_hole(port:port);
      }
    }
    if (!vulnerable)
    {
      exit(0, "No vulnerable Squid installs were detected on the remote host.");
    }
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_SQUID_255.NASL
    descriptionThe following package needs to be updated: squid
    last seen2016-09-26
    modified2004-07-06
    plugin id12615
    published2004-07-06
    reporterTenable
    sourcehttps://www.tenable.com/plugins/index.php?view=single&id=12615
    titleFreeBSD : squid ACL bypass due to URL decoding bug (182)
    code
    #%NASL_MIN_LEVEL 999999
    
    # @DEPRECATED@
    #
    # This script has been deprecated by freebsd_pkg_705e003a7f3611d896450020ed76ef5a.nasl.
    #
    # Disabled on 2011/10/02.
    #
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # This script contains information extracted from VuXML :
    #
    # Copyright 2003-2006 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #   copyright notice, this list of conditions and the following
    #   disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #   published online in any format, converted to PDF, PostScript,
    #   RTF and other formats) must reproduce the above copyright
    #   notice, this list of conditions and the following disclaimer
    #   in the documentation and/or other materials provided with the
    #   distribution.
    #
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    #
    #
    
    include('compat.inc');
    
    if ( description )
    {
     script_id(12615);
     script_version("1.11");
     script_cve_id("CVE-2004-0189");
    
     script_name(english:"FreeBSD : squid ACL bypass due to URL decoding bug (182)");
    
    script_set_attribute(attribute:'synopsis', value: 'The remote host is missing a security update');
    script_set_attribute(attribute:'description', value:'The following package needs to be updated: squid');
    script_set_attribute(attribute: 'cvss_vector', value: 'CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P');
    script_set_attribute(attribute:'solution', value: 'Update the package on the remote host');
    script_set_attribute(attribute: 'see_also', value: 'http://bugs.libgd.org/?do=details&amp;task_id=70
    http://bugs.libgd.org/?do=details&amp;task_id=87
    http://bugs.libgd.org/?do=details&amp;task_id=89
    http://bugs.libgd.org/?do=details&amp;task_id=94
    http://secunia.com/advisories/11804
    http://www.frsirt.com/english/advisories/2007/2336
    http://www.idefense.com/application/poi/display?id=107&amp;type=vulnerabilities&amp;flashstatus=false
    http://www.libgd.org/ReleaseNote020035
    http://www.mozilla.org/projects/security/known-vulnerabilities.html
    http://www.mozilla.org/security/announce/mfsa2005-46.html
    http://www.mozilla.org/security/announce/mfsa2005-47.html
    http://www.squid-cache.org/Advisories/SQUID-2004_1.txt');
    script_set_attribute(attribute:'see_also', value: 'http://www.FreeBSD.org/ports/portaudit/705e003a-7f36-11d8-9645-0020ed76ef5a.html');
    
     script_set_attribute(attribute:"plugin_publication_date", value: "2004/07/06");
     script_end_attributes();
     script_summary(english:"Check for squid");
     script_category(ACT_GATHER_INFO);
     script_copyright(english:"This script is Copyright (C) 2009-2018 Tenable Network Security, Inc.");
     family["english"] = "FreeBSD Local Security Checks";
     script_family(english:family["english"]);
     script_dependencies("ssh_get_info.nasl");
     script_require_keys("Host/FreeBSD/pkg_info");
     exit(0);
    }
    
    # Deprecated.
    exit(0, "This plugin has been deprecated. Refer to plugin #38021 (freebsd_pkg_705e003a7f3611d896450020ed76ef5a.nasl) instead.");
    
    global_var cvss_score;
    cvss_score=7;
    include('freebsd_package.inc');
    
    
    pkg_test(pkg:"squid<squid-2.5.5");
    
  • NASL familyMandriva Local Security Checks
    NASL idMANDRAKE_MDKSA-2004-025.NASL
    descriptionA vulnerability was discovered in squid version 2.5.STABLE4 and earlier with the processing of %-encoded characters in a URL. If a squid configuration uses ACLs (Access Control Lists), it is possible for a remote attacker to create URLs that would not be properly tested against squid
    last seen2020-06-01
    modified2020-06-02
    plugin id14124
    published2004-07-31
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/14124
    titleMandrake Linux Security Advisory : squid (MDKSA-2004:025)
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Mandrake Linux Security Advisory MDKSA-2004:025. 
    # The text itself is copyright (C) Mandriva S.A.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(14124);
      script_version ("1.16");
      script_cvs_date("Date: 2019/08/02 13:32:47");
    
      script_cve_id("CVE-2004-0189");
      script_xref(name:"MDKSA", value:"2004:025");
    
      script_name(english:"Mandrake Linux Security Advisory : squid (MDKSA-2004:025)");
      script_summary(english:"Checks rpm output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Mandrake Linux host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "A vulnerability was discovered in squid version 2.5.STABLE4 and
    earlier with the processing of %-encoded characters in a URL. If a
    squid configuration uses ACLs (Access Control Lists), it is possible
    for a remote attacker to create URLs that would not be properly tested
    against squid's ACLs, potentially allowing clients to access URLs that
    would otherwise be disallowed.
    
    As well, the provided packages for Mandrake Linux 9.2 and 9.1 include
    a new Access Control type called 'urllogin' which can be used to
    protect vulnerable Microsoft Internet Explorer clients from accessing
    URLs that contain login information. While this Access Control type is
    available, it is not used in the default configuration.
    
    The updated packages are patched to protect against these
    vulnerabilities."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.microsoft.com/security/incident/spoof.asp"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.squid-cache.org/Advisories/SQUID-2004_1.txt"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected squid package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:squid");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:10.0");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:9.1");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:9.2");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/03/30");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/31");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2004-2019 Tenable Network Security, Inc.");
      script_family(english:"Mandriva Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/Mandrake/release", "Host/Mandrake/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Mandrake/release")) audit(AUDIT_OS_NOT, "Mandriva / Mandake Linux");
    if (!get_kb_item("Host/Mandrake/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^(amd64|i[3-6]86|x86_64)$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Mandriva / Mandrake Linux", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"MDK10.0", reference:"squid-2.5.STABLE4-1.100mdk", yank:"mdk")) flag++;
    
    if (rpm_check(release:"MDK9.1", cpu:"i386", reference:"squid-2.5.STABLE1-7.1.91mdk", yank:"mdk")) flag++;
    
    if (rpm_check(release:"MDK9.2", reference:"squid-2.5.STABLE3-3.1.92mdk", yank:"mdk")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2004-104.NASL
    description - Tue Mar 09 2004 Jay Fenlason <fenlason at redhat.com> 7:2.5.STABLE3-1.fc1 - Backport security fix for %00 hole. See CVE-2004-0189: The
    last seen2020-06-01
    modified2020-06-02
    plugin id13687
    published2004-07-23
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/13687
    titleFedora Core 1 : squid-2.5.STABLE3-1.fc1 (2004-104)
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Fedora Security Advisory 2004-104.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(13687);
      script_version ("1.16");
      script_cvs_date("Date: 2019/08/02 13:32:23");
    
      script_xref(name:"FEDORA", value:"2004-104");
    
      script_name(english:"Fedora Core 1 : squid-2.5.STABLE3-1.fc1 (2004-104)");
      script_summary(english:"Checks rpm output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Fedora Core host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "  - Tue Mar 09 2004 Jay Fenlason <fenlason at redhat.com>
        7:2.5.STABLE3-1.fc1
    
      - Backport security fix for %00 hole. See CVE-2004-0189:
        The '%xx' URL decoding function in Squid 2.5STABLE4 and
        earlier allows remote attackers to bypass url_regex ACLs
        via a URL with a NULL ('%00') character, which causes
        Squid to use only a portion of the requested URL when
        comparing it against the access control lists.
    
      - Backport security fix that adds urllogin acl type that
        can be used to protect vulnerable Microsoft Internet
        Explorer clients.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the Fedora security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      # https://lists.fedoraproject.org/pipermail/announce/2004-April/000105.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?87ca6a6b"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected squid and / or squid-debuginfo packages."
      );
      script_set_attribute(attribute:"risk_factor", value:"High");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:squid");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:fedoraproject:fedora:squid-debuginfo");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:fedoraproject:fedora_core:1");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2004/04/15");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/23");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2004-2019 Tenable Network Security, Inc.");
      script_family(english:"Fedora Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Fedora" >!< release) audit(AUDIT_OS_NOT, "Fedora");
    os_ver = eregmatch(pattern: "Fedora.*release ([0-9]+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Fedora");
    os_ver = os_ver[1];
    if (! ereg(pattern:"^1([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Fedora 1.x", "Fedora " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Fedora", cpu);
    
    flag = 0;
    if (rpm_check(release:"FC1", reference:"squid-2.5.STABLE3-1.fc1")) flag++;
    if (rpm_check(release:"FC1", reference:"squid-debuginfo-2.5.STABLE3-1.fc1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "squid / squid-debuginfo");
    }
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_705E003A7F3611D896450020ED76EF5A.NASL
    descriptionFrom the Squid advisory : Squid versions 2.5.STABLE4 and earlier contain a bug in the
    last seen2020-06-01
    modified2020-06-02
    plugin id38021
    published2009-04-23
    reporterThis script is Copyright (C) 2009-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/38021
    titleFreeBSD : squid ACL bypass due to URL decoding bug (705e003a-7f36-11d8-9645-0020ed76ef5a)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2018 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(38021);
      script_version("1.11");
      script_cvs_date("Date: 2019/08/02 13:32:36");
    
      script_cve_id("CVE-2004-0189");
    
      script_name(english:"FreeBSD : squid ACL bypass due to URL decoding bug (705e003a-7f36-11d8-9645-0020ed76ef5a)");
      script_summary(english:"Checks for updated package in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote FreeBSD host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "From the Squid advisory :
    
    Squid versions 2.5.STABLE4 and earlier contain a bug in the '%xx' URL
    decoding function. It may insert a NUL character into decoded URLs,
    which may allow users to bypass url_regex ACLs."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.squid-cache.org/Advisories/SQUID-2004_1.txt"
      );
      # https://vuxml.freebsd.org/freebsd/705e003a-7f36-11d8-9645-0020ed76ef5a.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?da1c08bc"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:squid");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2004/02/29");
      script_set_attribute(attribute:"patch_publication_date", value:"2004/03/26");
      script_set_attribute(attribute:"plugin_publication_date", value:"2009/04/23");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2009-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"squid<2.5.5")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2004-133.NASL
    descriptionAn updated squid package is available that fixes a security vulnerability in URL decoding and provides a new ACL type for protecting vulnerable clients. Squid is a full-featured Web proxy cache. A bug was found in the processing of %-encoded characters in a URL in versions of Squid 2.5.STABLE4 and earlier. If a Squid configuration uses Access Control Lists (ACLs), a remote attacker could create URLs that would not be correctly tested against Squid
    last seen2020-06-01
    modified2020-06-02
    plugin id12481
    published2004-07-06
    reporterThis script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/12481
    titleRHEL 2.1 / 3 : squid (RHSA-2004:133)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Red Hat Security Advisory RHSA-2004:133. The text 
    # itself is copyright (C) Red Hat, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(12481);
      script_version ("1.25");
      script_cvs_date("Date: 2019/10/25 13:36:10");
    
      script_cve_id("CVE-2004-0189");
      script_xref(name:"RHSA", value:"2004:133");
    
      script_name(english:"RHEL 2.1 / 3 : squid (RHSA-2004:133)");
      script_summary(english:"Checks the rpm output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Red Hat host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "An updated squid package is available that fixes a security
    vulnerability in URL decoding and provides a new ACL type for
    protecting vulnerable clients.
    
    Squid is a full-featured Web proxy cache.
    
    A bug was found in the processing of %-encoded characters in a URL in
    versions of Squid 2.5.STABLE4 and earlier. If a Squid configuration
    uses Access Control Lists (ACLs), a remote attacker could create URLs
    that would not be correctly tested against Squid's ACLs, potentially
    allowing clients to access prohibited URLs.
    
    Users of Squid should update to these erratum packages which are not
    vulnerable to this issue.
    
    In addition, these packages contain a new Access Control type,
    'urllogin', which can be used to protect vulnerable Microsoft Internet
    Explorer clients from accessing URLs that contain login information.
    Such URLs are often used by fraudsters to trick web users into
    revealing valuable personal data.
    
    Note that the default Squid configuration does not make use of this
    new access control type. You must explicitly configure Squid with ACLs
    that use this new type, in accordance with your own site policies."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/security/cve/cve-2004-0189"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.squid-cache.org/Advisories/SQUID-2004_1.txt"
      );
      # http://www.microsoft.com/security/incident/spoof.asp
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.microsoft.com/en-us/security/incident/spoof.asp"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://access.redhat.com/errata/RHSA-2004:133"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected squid package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:squid");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:2.1");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:3");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2004/03/15");
      script_set_attribute(attribute:"patch_publication_date", value:"2004/04/14");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/06");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Red Hat Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/RedHat/release");
    if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
    os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
    os_ver = os_ver[1];
    if (! preg(pattern:"^(2\.1|3)([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 2.1 / 3.x", "Red Hat " + os_ver);
    
    if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);
    
    yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
    if (!empty_or_null(yum_updateinfo)) 
    {
      rhsa = "RHSA-2004:133";
      yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
      if (!empty_or_null(yum_report))
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_HOLE,
          extra      : yum_report 
        );
        exit(0);
      }
      else
      {
        audit_message = "affected by Red Hat security advisory " + rhsa;
        audit(AUDIT_OS_NOT, audit_message);
      }
    }
    else
    {
      flag = 0;
      if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"squid-2.4.STABLE6-10.21as")) flag++;
    
      if (rpm_check(release:"RHEL3", reference:"squid-2.5.STABLE3-5.3E")) flag++;
    
      if (flag)
      {
        security_report_v4(
          port       : 0,
          severity   : SECURITY_HOLE,
          extra      : rpm_report_get() + redhat_report_package_caveat()
        );
        exit(0);
      }
      else
      {
        tested = pkg_tests_get();
        if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
        else audit(AUDIT_PACKAGE_NOT_INSTALLED, "squid");
      }
    }
    
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-200403-11.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-200403-11 (Squid ACL [url_regex] bypass vulnerability) A bug in Squid allows users to bypass certain access controls by passing a URL containing
    last seen2020-06-01
    modified2020-06-02
    plugin id14462
    published2004-08-30
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/14462
    titleGLSA-200403-11 : Squid ACL [url_regex] bypass vulnerability
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-474.NASL
    descriptionA vulnerability was discovered in squid, an Internet object cache, whereby access control lists based on URLs could be bypassed ( CAN-2004-0189). Two other bugs were also fixed with patches squid-2.4.STABLE7-url_escape.patch (a buffer overrun which does not appear to be exploitable) and squid-2.4.STABLE7-url_port.patch (a potential denial of service).
    last seen2020-06-01
    modified2020-06-02
    plugin id15311
    published2004-09-29
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/15311
    titleDebian DSA-474-1 : squid - ACL bypass

Oval

  • accepted2010-09-20T04:00:45.311-04:00
    classvulnerability
    contributors
    • nameJay Beale
      organizationBastille Linux
    • nameThomas R. Jones
      organizationMaitreya Security
    • nameJonathan Baker
      organizationThe MITRE Corporation
    descriptionThe "%xx" URL decoding function in Squid 2.5STABLE4 and earlier allows remote attackers to bypass url_regex ACLs via a URL with a NULL ("%00") characterm, which causes Squid to use only a portion of the requested URL when comparing it against the access control lists.
    familyunix
    idoval:org.mitre.oval:def:877
    statusaccepted
    submitted2004-04-07T12:00:00.000-04:00
    titleRed Hat Squid ACL Bypass Vulnerability
    version41
  • accepted2010-09-20T04:00:46.445-04:00
    classvulnerability
    contributors
    • nameJay Beale
      organizationBastille Linux
    • nameThomas R. Jones
      organizationMaitreya Security
    • nameJonathan Baker
      organizationThe MITRE Corporation
    descriptionThe "%xx" URL decoding function in Squid 2.5STABLE4 and earlier allows remote attackers to bypass url_regex ACLs via a URL with a NULL ("%00") characterm, which causes Squid to use only a portion of the requested URL when comparing it against the access control lists.
    familyunix
    idoval:org.mitre.oval:def:941
    statusaccepted
    submitted2004-05-10T12:00:00.000-04:00
    titleRed Hat Enterprise 3 Squid ACL Bypass Vulnerability
    version41

Redhat

advisories
  • rhsa
    idRHSA-2004:133
  • rhsa
    idRHSA-2004:134
rpms
  • squid-7:2.5.STABLE3-5.3E
  • squid-debuginfo-7:2.5.STABLE3-5.3E