The version of squid installed on the remote host is prior to 3.5.20-17.44. It is, therefore, affected by multiple vulnerabilities as referenced in the ALAS-2023-1687 advisory.
An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to a buffer-management bug, it allows a denial of service. When resolving a request with the urn: scheme, the parser leaks a small amount of memory. However, there is an unspecified attack methodology that can easily trigger a large amount of memory consumption. (CVE-2021-28651)
An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to incorrect parser validation, it allows a Denial of Service attack against the Cache Manager API. This allows a trusted client to trigger memory leaks that. over time, lead to a Denial of Service via an unspecified short query string. This attack is limited to clients with Cache Manager API access privilege. (CVE-2021-28652)
An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to a memory-management bug, it is vulnerable to a Denial of Service attack (against all clients using the proxy) via HTTP Range request processing. (CVE-2021-31806)
An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. An integer overflow problem allows a remote server to achieve Denial of Service when delivering responses to HTTP Range requests. The issue trigger is a header that can be expected to exist in HTTP traffic without any malicious intent.
(CVE-2021-31807)
An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to an input-validation bug, it is vulnerable to a Denial of Service attack (against all clients using the proxy). A client sends an HTTP Range request to trigger this. (CVE-2021-31808)
Squid before 4.15 and 5.x before 5.0.6 allows remote servers to cause a denial of service (affecting availability to all clients) via an HTTP response. The issue trigger is a header that can be expected to exist in HTTP traffic without any malicious intent by the server. (CVE-2021-33620)
An issue was discovered in Squid 4.9 through 4.17 and 5.0.6 through 5.6. Due to inconsistent handling of internal URIs, there can be Exposure of Sensitive Information about clients using the proxy via an HTTPS request to an internal cache manager URL. This is fixed in 5.7. (CVE-2022-41317)
Note that Nessus has not tested for these issues but has instead relied only on the application’s self-reported version number.
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Amazon Linux AMI Security Advisory ALAS-2023-1687.
##
include('compat.inc');
if (description)
{
script_id(171863);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/09/01");
script_cve_id(
"CVE-2021-28651",
"CVE-2021-28652",
"CVE-2021-31806",
"CVE-2021-31807",
"CVE-2021-31808",
"CVE-2021-33620",
"CVE-2022-41317"
);
script_name(english:"Amazon Linux AMI : squid (ALAS-2023-1687)");
script_set_attribute(attribute:"synopsis", value:
"The remote Amazon Linux AMI host is missing a security update.");
script_set_attribute(attribute:"description", value:
"The version of squid installed on the remote host is prior to 3.5.20-17.44. It is, therefore, affected by multiple
vulnerabilities as referenced in the ALAS-2023-1687 advisory.
- An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to a buffer-management bug, it
allows a denial of service. When resolving a request with the urn: scheme, the parser leaks a small amount
of memory. However, there is an unspecified attack methodology that can easily trigger a large amount of
memory consumption. (CVE-2021-28651)
- An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to incorrect parser validation, it
allows a Denial of Service attack against the Cache Manager API. This allows a trusted client to trigger
memory leaks that. over time, lead to a Denial of Service via an unspecified short query string. This
attack is limited to clients with Cache Manager API access privilege. (CVE-2021-28652)
- An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to a memory-management bug, it is
vulnerable to a Denial of Service attack (against all clients using the proxy) via HTTP Range request
processing. (CVE-2021-31806)
- An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. An integer overflow problem allows a
remote server to achieve Denial of Service when delivering responses to HTTP Range requests. The issue
trigger is a header that can be expected to exist in HTTP traffic without any malicious intent.
(CVE-2021-31807)
- An issue was discovered in Squid before 4.15 and 5.x before 5.0.6. Due to an input-validation bug, it is
vulnerable to a Denial of Service attack (against all clients using the proxy). A client sends an HTTP
Range request to trigger this. (CVE-2021-31808)
- Squid before 4.15 and 5.x before 5.0.6 allows remote servers to cause a denial of service (affecting
availability to all clients) via an HTTP response. The issue trigger is a header that can be expected to
exist in HTTP traffic without any malicious intent by the server. (CVE-2021-33620)
- An issue was discovered in Squid 4.9 through 4.17 and 5.0.6 through 5.6. Due to inconsistent handling of
internal URIs, there can be Exposure of Sensitive Information about clients using the proxy via an HTTPS
request to an internal cache manager URL. This is fixed in 5.7. (CVE-2022-41317)
Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/ALAS-2023-1687.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/../../faqs.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2021-28651.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2021-28652.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2021-31806.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2021-31807.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2021-31808.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2021-33620.html");
script_set_attribute(attribute:"see_also", value:"https://alas.aws.amazon.com/cve/html/CVE-2022-41317.html");
script_set_attribute(attribute:"solution", value:
"Run 'yum update squid' to update your system.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-28651");
script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2022-41317");
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:"2021/05/27");
script_set_attribute(attribute:"patch_publication_date", value:"2023/02/17");
script_set_attribute(attribute:"plugin_publication_date", value:"2023/02/23");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:squid");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:squid-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:squid-migration-script");
script_set_attribute(attribute:"cpe", value:"cpe:/o:amazon:linux");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Amazon Linux Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/AmazonLinux/release", "Host/AmazonLinux/rpm-list");
exit(0);
}
include("rpm.inc");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var alas_release = get_kb_item("Host/AmazonLinux/release");
if (isnull(alas_release) || !strlen(alas_release)) audit(AUDIT_OS_NOT, "Amazon Linux");
var os_ver = pregmatch(pattern: "^AL(A|\d+|-\d+)", string:alas_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Amazon Linux");
os_ver = os_ver[1];
if (os_ver != "A")
{
if (os_ver == 'A') os_ver = 'AMI';
audit(AUDIT_OS_NOT, "Amazon Linux AMI", "Amazon Linux " + os_ver);
}
if (!get_kb_item("Host/AmazonLinux/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
var pkgs = [
{'reference':'squid-3.5.20-17.44.amzn1', 'cpu':'i686', 'release':'ALA', 'rpm_spec_vers_cmp':TRUE},
{'reference':'squid-3.5.20-17.44.amzn1', 'cpu':'x86_64', 'release':'ALA', 'rpm_spec_vers_cmp':TRUE},
{'reference':'squid-debuginfo-3.5.20-17.44.amzn1', 'cpu':'i686', 'release':'ALA', 'rpm_spec_vers_cmp':TRUE},
{'reference':'squid-debuginfo-3.5.20-17.44.amzn1', 'cpu':'x86_64', 'release':'ALA', 'rpm_spec_vers_cmp':TRUE},
{'reference':'squid-migration-script-3.5.20-17.44.amzn1', 'cpu':'i686', 'release':'ALA', 'rpm_spec_vers_cmp':TRUE},
{'reference':'squid-migration-script-3.5.20-17.44.amzn1', 'cpu':'x86_64', 'release':'ALA', 'rpm_spec_vers_cmp':TRUE}
];
var flag = 0;
foreach var package_array ( pkgs ) {
var reference = NULL;
var _release = NULL;
var sp = NULL;
var _cpu = NULL;
var el_string = NULL;
var rpm_spec_vers_cmp = NULL;
var epoch = NULL;
var allowmaj = NULL;
var exists_check = NULL;
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (!empty_or_null(package_array['release'])) _release = package_array['release'];
if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
if (reference && _release && (!exists_check || rpm_exists(release:_release, rpm:exists_check))) {
if (rpm_check(release:_release, sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : rpm_report_get()
);
exit(0);
}
else
{
var tested = pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, "squid / squid-debuginfo / squid-migration-script");
}
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28651
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-28652
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-31806
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-31807
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-31808
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-33620
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41317
alas.aws.amazon.com/../../faqs.html
alas.aws.amazon.com/ALAS-2023-1687.html
alas.aws.amazon.com/cve/html/CVE-2021-28651.html
alas.aws.amazon.com/cve/html/CVE-2021-28652.html
alas.aws.amazon.com/cve/html/CVE-2021-31806.html
alas.aws.amazon.com/cve/html/CVE-2021-31807.html
alas.aws.amazon.com/cve/html/CVE-2021-31808.html
alas.aws.amazon.com/cve/html/CVE-2021-33620.html
alas.aws.amazon.com/cve/html/CVE-2022-41317.html