Vulnerabilities > CVE-2002-0746 - Remote Security vulnerability in IBM AIX 4.3.3

047910
CVSS 10.0 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
COMPLETE
Integrity impact
COMPLETE
Availability impact
COMPLETE
network
low complexity
ibm
critical
nessus

Summary

Vulnerability in template.dhcpo in AIX 4.3.3 related to an insecure linker argument.

Vulnerable Configurations

Part Description Count
OS
Ibm
1

Nessus

NASL familyDenial of Service
NASL idOPENSSH_361P2.NASL
descriptionAccording to its banner, the version of OpenSSH running on the remote host is ealier than 3.6.1p2. When compiled for the AIX operating system with a compiler other than that of the native AIX compiler, an error exists that can allow dynamic libraries in the current directory to be loaded before dynamic libraries in the system paths. This behavior can allow local users to escalate privileges by creating, loading and executing their own malicious replacement libraries.
last seen2020-06-01
modified2020-06-02
plugin id17702
published2011-11-18
reporterThis script is Copyright (C) 2011-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/17702
titleOpenSSH < 3.6.1p2 Multiple Vulnerabilities
code
#
# (C) Tenable Network Security, Inc.
#


include("compat.inc");


if (description)
{
  script_id(17702);
  script_version("1.4");
  script_cvs_date("Date: 2018/11/15 20:50:21");

  script_cve_id("CVE-2002-0746");

  script_name(english:"OpenSSH < 3.6.1p2 Multiple Vulnerabilities");
  script_summary(english:"Checks SSH banner");

  script_set_attribute(
    attribute:"synopsis",
    value:
"The SSH server running on the remote host is affected by multiple
vulnerabilities."
  );
  script_set_attribute(
    attribute:"description",
    value:
"According to its banner, the version of OpenSSH running on the remote
host is ealier than 3.6.1p2.  When compiled for the AIX operating
system with a compiler other than that of the native AIX compiler, an
error exists that can allow dynamic libraries in the current directory
to be loaded before dynamic libraries in the system paths.  This
behavior can allow local users to escalate privileges by creating,
loading and executing their own malicious replacement libraries.");
  script_set_attribute(attribute:"see_also", value:"https://www.openssh.com/txt/release-3.6.1p2");
  script_set_attribute(attribute:"see_also", value:"https://www.securityfocus.com/archive/1/320038/2003-04-25/2003-05-01/0");
  script_set_attribute(attribute:"solution", value:"Upgrade to OpenSSH 3.6.1p2 or later.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");

  script_set_attribute(attribute:"vuln_publication_date", value:"2003/04/28");
  script_set_attribute(attribute:"patch_publication_date", value:"2003/04/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2011/11/18");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:openbsd:openssh");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Denial of Service");

  script_copyright(english:"This script is Copyright (C) 2011-2018 Tenable Network Security, Inc.");

  script_dependencies("ssh_detect.nasl");
  script_require_ports("Services/ssh");

  exit(0);
}

include("backport.inc");
include("global_settings.inc");
include("misc_func.inc");

# Ensure the port is open.
port = get_service(svc:"ssh", exit_on_fail:TRUE);

# Get banner for service.
banner = get_kb_item_or_exit("SSH/banner/"+port);
bp_banner = tolower(get_backport_banner(banner:banner));
if ("openssh" >!< bp_banner) exit(0, "The SSH service on port "+port+" is not OpenSSH.");
if (backported) exit(1, "The banner from the OpenSSH server on port "+port+" indicates patches may have been backported.");

# Check the version in the backported banner.
match = eregmatch(string:bp_banner, pattern:"openssh[-_]([0-9][-._0-9a-z]+)");
if (isnull(match)) exit(1, "Could not parse the version string in the banner from port "+port+".");
version = match[1];

match = eregmatch(string:version, pattern:"([0-9.]+)(p([0-9]+))?");
if (isnull(match)) exit(1, 'Error parsing version: ' + version);

ver = split(match[1], sep:'.', keep:FALSE);
for (i = 0; i < max_index(ver); i++)
  ver[i] = int(ver[i]);

if (
  (ver[0] < 3) ||
  (ver[0] == 3 && ver[1] < 6) ||
  (ver[0] == 3 && ver[1] == 6 && ver[2] < 1) ||
  (ver[0] == 3 && ver[1] == 6 && ver[2] == 1 && isnull(match[3])) ||
  (ver[0] == 3 && ver[1] == 6 && ver[2] == 1 && !isnull(match[3]) && int(match[3]) < 2)
)
{
  if (report_verbosity > 0)
  {
    report =
      '\n  Version source    : ' + banner +
      '\n  Installed version : ' + version +
      '\n  Fixed version     : 3.6.1p2\n';
    security_hole(port:port, extra:report);
  }
  else security_hole(port);
  exit(0);
}
else exit(0, "The OpenSSH version "+version+" server listening on port "+port+" is not affected.");