Lucene search

K
nessusThis script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.REDHAT_UNPATCHED-IRSSI-RHEL7.NASL
HistoryMay 11, 2024 - 12:00 a.m.

RHEL 7 : irssi (Unpatched Vulnerability)

2024-05-1100:00:00
This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
3
rhel 7
irssi
unpatched vulnerability
heap buffer overflow
weak permissions
null pointer dereference
use-after-free
denial of service
out-of-bounds access
remote attackers

8.2 High

AI Score

Confidence

Low

0.011 Low

EPSS

Percentile

84.6%

The remote Redhat Enterprise Linux 7 host has one or more packages installed that are affected by multiple vulnerabilities that have been acknowledged by the vendor but will not be patched.

  • irssi: heap buffer overflow due to calculation error in the completion code (CVE-2018-5208)

  • The buf.pl script before 2.20 in Irssi before 0.8.20 uses weak permissions for the scrollbuffer dump file created between upgrades, which might allow local users to obtain sensitive information from private chat conversations by reading the file. (CVE-2016-7553)

  • An issue was discovered in Irssi before 1.0.4. When receiving messages with invalid time stamps, Irssi would try to dereference a NULL pointer. (CVE-2017-10965)

  • An issue was discovered in Irssi before 1.0.4. While updating the internal nick list, Irssi could incorrectly use the GHashTable interface and free the nick while updating it. This would then result in use-after-free conditions on each access of the hash table. (CVE-2017-10966)

  • Irssi before 1.0.5, while waiting for the channel synchronisation, may incorrectly fail to remove destroyed channels from the query list, resulting in use-after-free conditions when updating the state later on. (CVE-2017-15227)

  • Irssi before 1.0.5, when installing themes with unterminated colour formatting sequences, may access data beyond the end of the string. (CVE-2017-15228)

  • In Irssi before 1.0.5, certain incorrectly formatted DCC CTCP messages could cause a NULL pointer dereference. This is a separate, but similar, issue relative to CVE-2017-9468. (CVE-2017-15721)

  • In certain cases, Irssi before 1.0.5 may fail to verify that a Safe channel ID is long enough, causing reads beyond the end of the string. (CVE-2017-15722)

  • The nickcmp function in Irssi before 0.8.21 allows remote attackers to cause a denial of service (NULL pointer dereference and crash) via a message without a nick. (CVE-2017-5193)

  • Use-after-free vulnerability in Irssi before 0.8.21 allows remote attackers to cause a denial of service (crash) via an invalid nick message. (CVE-2017-5194)

  • Irssi before 0.8.21 allows remote attackers to cause a denial of service (out-of-bounds read and crash) via a string containing a formatting sequence (%[) without a closing bracket (]). (CVE-2017-5356)

  • In Irssi before 1.0.3, when receiving a DCC message without source nick/host, it attempts to dereference a NULL pointer. Thus, remote IRC servers can cause a crash. (CVE-2017-9468)

  • In Irssi before 1.0.3, when receiving certain incorrectly quoted DCC files, it tries to find the terminating quote one byte before the allocated memory. Thus, remote attackers might be able to cause a crash. (CVE-2017-9469)

  • When using incomplete escape codes, Irssi before 1.0.6 may access data beyond the end of the string.
    (CVE-2018-5205)

  • When the channel topic is set without specifying a sender, Irssi before 1.0.6 may dereference a NULL pointer. (CVE-2018-5206)

  • When using an incomplete variable argument, Irssi before 1.0.6 may access data beyond the end of the string. (CVE-2018-5207)

  • An issue was discovered in Irssi before 1.0.7 and 1.1.x before 1.1.1. A NULL pointer dereference occurs for an empty nick. (CVE-2018-7050)

  • An issue was discovered in Irssi before 1.0.7 and 1.1.x before 1.1.1. Certain nick names could result in out-of-bounds access when printing theme strings. (CVE-2018-7051)

  • An issue was discovered in Irssi before 1.0.7 and 1.1.x before 1.1.1. When the number of windows exceeds the available space, a crash due to a NULL pointer dereference would occur. (CVE-2018-7052)

Note that Nessus has not tested for these issues but has instead relied on the package manager’s report that the package is installed.

#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Red Hat Security Advisory irssi. The text
# itself is copyright (C) Red Hat, Inc.
##

include('compat.inc');

if (description)
{
  script_id(196841);
  script_version("1.0");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/05/11");

  script_cve_id(
    "CVE-2016-7553",
    "CVE-2017-5193",
    "CVE-2017-5194",
    "CVE-2017-5356",
    "CVE-2017-9468",
    "CVE-2017-9469",
    "CVE-2017-10965",
    "CVE-2017-10966",
    "CVE-2017-15227",
    "CVE-2017-15228",
    "CVE-2017-15721",
    "CVE-2017-15722",
    "CVE-2018-5205",
    "CVE-2018-5206",
    "CVE-2018-5207",
    "CVE-2018-5208",
    "CVE-2018-7050",
    "CVE-2018-7051",
    "CVE-2018-7052"
  );

  script_name(english:"RHEL 7 : irssi (Unpatched Vulnerability)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Red Hat 7 host is affected by multiple vulnerabilities that will not be patched.");
  script_set_attribute(attribute:"description", value:
"The remote Redhat Enterprise Linux 7 host has one or more packages installed that are affected by multiple
vulnerabilities that have been acknowledged by the vendor but will not be patched.

  - irssi: heap buffer overflow due to calculation error in the completion code (CVE-2018-5208)

  - The buf.pl script before 2.20 in Irssi before 0.8.20 uses weak permissions for the scrollbuffer dump file
    created between upgrades, which might allow local users to obtain sensitive information from private chat
    conversations by reading the file. (CVE-2016-7553)

  - An issue was discovered in Irssi before 1.0.4. When receiving messages with invalid time stamps, Irssi
    would try to dereference a NULL pointer. (CVE-2017-10965)

  - An issue was discovered in Irssi before 1.0.4. While updating the internal nick list, Irssi could
    incorrectly use the GHashTable interface and free the nick while updating it. This would then result in
    use-after-free conditions on each access of the hash table. (CVE-2017-10966)

  - Irssi before 1.0.5, while waiting for the channel synchronisation, may incorrectly fail to remove
    destroyed channels from the query list, resulting in use-after-free conditions when updating the state
    later on. (CVE-2017-15227)

  - Irssi before 1.0.5, when installing themes with unterminated colour formatting sequences, may access data
    beyond the end of the string. (CVE-2017-15228)

  - In Irssi before 1.0.5, certain incorrectly formatted DCC CTCP messages could cause a NULL pointer
    dereference. This is a separate, but similar, issue relative to CVE-2017-9468. (CVE-2017-15721)

  - In certain cases, Irssi before 1.0.5 may fail to verify that a Safe channel ID is long enough, causing
    reads beyond the end of the string. (CVE-2017-15722)

  - The nickcmp function in Irssi before 0.8.21 allows remote attackers to cause a denial of service (NULL
    pointer dereference and crash) via a message without a nick. (CVE-2017-5193)

  - Use-after-free vulnerability in Irssi before 0.8.21 allows remote attackers to cause a denial of service
    (crash) via an invalid nick message. (CVE-2017-5194)

  - Irssi before 0.8.21 allows remote attackers to cause a denial of service (out-of-bounds read and crash)
    via a string containing a formatting sequence (%[) without a closing bracket (]). (CVE-2017-5356)

  - In Irssi before 1.0.3, when receiving a DCC message without source nick/host, it attempts to dereference a
    NULL pointer. Thus, remote IRC servers can cause a crash. (CVE-2017-9468)

  - In Irssi before 1.0.3, when receiving certain incorrectly quoted DCC files, it tries to find the
    terminating quote one byte before the allocated memory. Thus, remote attackers might be able to cause a
    crash. (CVE-2017-9469)

  - When using incomplete escape codes, Irssi before 1.0.6 may access data beyond the end of the string.
    (CVE-2018-5205)

  - When the channel topic is set without specifying a sender, Irssi before 1.0.6 may dereference a NULL
    pointer. (CVE-2018-5206)

  - When using an incomplete variable argument, Irssi before 1.0.6 may access data beyond the end of the
    string. (CVE-2018-5207)

  - An issue was discovered in Irssi before 1.0.7 and 1.1.x before 1.1.1. A NULL pointer dereference occurs
    for an empty nick. (CVE-2018-7050)

  - An issue was discovered in Irssi before 1.0.7 and 1.1.x before 1.1.1. Certain nick names could result in
    out-of-bounds access when printing theme strings. (CVE-2018-7051)

  - An issue was discovered in Irssi before 1.0.7 and 1.1.x before 1.1.1. When the number of windows exceeds
    the available space, a crash due to a NULL pointer dereference would occur. (CVE-2018-7052)

Note that Nessus has not tested for these issues but has instead relied on the package manager's report that the package
is installed.");
  script_set_attribute(attribute:"solution", value:
"The vendor has acknowledged the vulnerabilities but no solution has been provided. Refer to the vendor for remediation
guidance.");
  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_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/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-2018-5208");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"vendor_unpatched", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2016/09/26");
  script_set_attribute(attribute:"plugin_publication_date", value:"2024/05/11");

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

  script_category(ACT_GATHER_INFO);
  script_family(english:"Red Hat Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2024 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("global_settings/vendor_unpatched"))
exit(0, "Unpatched Vulnerabilities Detection not active.");

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 constraints = [
  {
    'pkgs': [
      {'reference':'irssi', 'release':'7', 'rpm_spec_vers_cmp':TRUE, 'unpatched_pkg':'irssi'}
    ]
  }
];


var flag = 0;
foreach var constraint_array ( constraints ) {
  var repo_relative_urls = NULL;
  var enterprise_linux_flag = rhel_repo_urls_has_content_dist_rhel(repo_urls:repo_relative_urls);
  foreach var pkg ( constraint_array['pkgs'] ) {
    var unpatched_pkg = NULL;
    var _release = NULL;
    var sp = NULL;
    var el_string = NULL;
    var rpm_spec_vers_cmp = NULL;
    var exists_check = NULL;
    var cves = NULL;
    if (!empty_or_null(pkg['unpatched_pkg'])) unpatched_pkg = pkg['unpatched_pkg'];
    if (!empty_or_null(pkg['release'])) _release = 'RHEL' + pkg['release'];
    if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
    if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
    if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
    if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
    if (unpatched_pkg &&
        _release &&
        (!exists_check || rpm_exists(release:_release, rpm:exists_check)) &&
        unpatched_package_exists(release:_release, package:unpatched_pkg, cves: cves)) flag++;
  }
}

if (flag)
{
  var extra = NULL;
  security_report_v4(
      port       : 0,
      severity   : SECURITY_HOLE,
      extra      : unpatched_packages_report()
  );
  exit(0);
}
else
{
  var tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'irssi');
}
VendorProductVersionCPE
redhatenterprise_linux6cpe:/o:redhat:enterprise_linux:6
redhatenterprise_linux7cpe:/o:redhat:enterprise_linux:7
redhatenterprise_linuxirssip-cpe:/a:redhat:enterprise_linux:irssi

References