Lucene search

K
nessusThis script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.REDHAT-RHEL7-CURL-CVE-2022-43552.NASL
HistoryJul 28, 2023 - 12:00 a.m.

RHEL 7 : curl (CVE-2022-43552)

2023-07-2800:00:00
This script is Copyright (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
277
red hat
enterprise linux 7
curl
vulnerability
use after free
http proxy
smb
telnet
nessus

0.001 Low

EPSS

Percentile

42.9%

The remote Red Hat Enterprise Linux 7 host has a curl package installed that is affected by a vulnerability:

  • A use after free vulnerability exists in curl <7.87.0. Curl can be asked to tunnel virtually all protocols it supports through an HTTP proxy. HTTP proxies can (and often do) deny such tunnel operations. When getting denied to tunnel the specific protocols SMB or TELNET, curl would use a heap-allocated struct after it had been freed, in its transfer shutdown code path. (CVE-2022-43552)

Note that Red Hat considers the RHEL 7 curl package to be out of support scope so no fixed update is expected.

Note that Nessus has not tested for this issue but has instead relied only on the application’s self-reported version number.

#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(178961);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/07/31");

  script_cve_id("CVE-2022-43552");

  script_name(english:"RHEL 7 : curl (CVE-2022-43552)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Red Hat Enterprise Linux 7 host is affected by a vulnerability in curl.");
  script_set_attribute(attribute:"description", value:
"The remote Red Hat Enterprise Linux 7 host has a curl package installed that is affected by a vulnerability:

  - A use after free vulnerability exists in curl <7.87.0. Curl can be asked to *tunnel* virtually all protocols it
    supports through an HTTP proxy. HTTP proxies can (and often do) deny such tunnel operations. When getting denied to
    tunnel the specific protocols SMB or TELNET, curl would use a heap-allocated struct after it had been freed, in its
    transfer shutdown code path. (CVE-2022-43552)

Note that Red Hat considers the RHEL 7 curl package to be out of support scope so no fixed update is expected. 

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://access.redhat.com/security/cve/CVE-2022-43552");
  script_set_attribute(attribute:"see_also", value:"https://curl.se/docs/CVE-2022-43552.html");
  script_set_attribute(attribute:"solution", value:
"Remove the affected curl package.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-43552");

  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:"2022/12/21");
  script_set_attribute(attribute:"plugin_publication_date", value:"2023/07/28");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:7");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:curl");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Red Hat 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", "redhat_repos.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");

  exit(0);
}


include('rpm.inc');
include('rhel.inc');

if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/RedHat/release');
if (isnull(os_release) || 'Red Hat' >!< os_release) audit(AUDIT_OS_NOT, 'Red Hat');
var os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:os_release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, 'Red Hat');
os_ver = os_ver[1];
if (!rhel_check_release(operator: 'ge', os_version: os_ver, rhel_version: '7')) audit(AUDIT_OS_NOT, 'Red Hat 7.x', 'Red Hat ' + os_ver);

if (!get_kb_item('Host/RedHat/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu && 'ppc' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Red Hat', cpu);

var rpm_flag = 0;

# curl-7.29.0-59 is the last version released for RHEL 7
if (rpm_check(release:'RHEL7', reference:'curl-7.29.0-60')) rpm_flag++;

if (rpm_flag)
{
  var report = rpm_report_get();
  report = report - 'Should be                : curl-7.29.0-60\n\n';
  var extra =
'\nNessus has detected a vulnerable version of the curl package installed. Red Hat\n' +
'considers the RHEL 7 curl package to be out of support scope so no fixed update\n' +
'is expected. Nessus recommends removal of the affected curl package to mitigate\n' +
'this vulnerability.\n' + report;
  
  security_report_v4(
    port: 0,
    severity: SECURITY_WARNING,
    extra: extra
  );
  exit(0);
}
else
  audit(AUDIT_HOST_NOT, 'affected');
VendorProductVersionCPE
redhatenterprise_linux7cpe:/o:redhat:enterprise_linux:7
redhatenterprise_linuxcurlp-cpe:/a:redhat:enterprise_linux:curl