Lucene search

K
nessusThis script is Copyright (C) 2013-2018 Tenable Network Security, Inc.ARCSERVE_BACKUP_CVE-2008-5415.NASL
HistoryAug 26, 2013 - 12:00 a.m.

Computer Associates ARCserve Backup LDBserver Remote Code Execution Vulnerability

2013-08-2600:00:00
This script is Copyright (C) 2013-2018 Tenable Network Security, Inc.
www.tenable.com
10

The version of CA ARCserve Backup installed in the remote hosted is affected by a remote code execution vulnerability. A remote attacker can exploit this vulnerability by providing a specially crafted handle_t argument to an RPC endpoint for the LDBserver service.

#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

if (description)
{
  script_id(69513);
  script_version("1.6");
  script_cvs_date("Date: 2018/06/27 18:42:27");

  script_cve_id("CVE-2008-5415");
  script_bugtraq_id(32764);

  script_name(english:"Computer Associates ARCserve Backup LDBserver Remote Code Execution Vulnerability");
  script_summary(english:"Checks version of ARCserve");

  script_set_attribute(attribute:"synopsis", value:
"The remote host is affected by a remote code execution vulnerability."
  );
  script_set_attribute(
    attribute:"description",
    value:
"The version of CA ARCserve Backup installed in the remote hosted is
affected by a remote code execution vulnerability.  A remote attacker
can exploit this vulnerability by providing a specially crafted
handle_t argument to an RPC endpoint for the LDBserver service."
  );
  # https://support.ca.com/irj/portal/anonymous/phpsupcontent?contentID=194293
  script_set_attribute(attribute:"see_also",value:"http://www.nessus.org/u?c87e2a14");
  script_set_attribute(
    attribute:"solution",
    value:"Apply the appropriate patch per the vendor's advisory."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");
  script_set_attribute(attribute:"vuln_publication_date",value:"2008/12/10");
  script_set_attribute(attribute:"patch_publication_date",value:"2008/12/10");
  script_set_attribute(attribute:"plugin_publication_date",value:"2013/08/26");
  script_set_attribute(attribute:"plugin_type",value:"local");
  script_set_attribute(attribute:"cpe",value:"cpe:/a:ca:arcserve_backup");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

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

  script_require_keys("SMB/Registry/Enumerated", "SMB/CA ARCserve Backup/Installed");
  script_dependencies("arcserve_backup_server_installed.nasl");
  script_require_ports(139, 445);

  exit(0);
}

include("audit.inc");
include("smb_func.inc");
include("smb_hotfixes.inc");
include("smb_hotfixes_fcheck.inc");
include("smb_reg_query.inc");
include("misc_func.inc");

appname = 'CA ARCserve Backup';

get_kb_item_or_exit('SMB/CA ARCserve Backup/Installed');

path = get_kb_item_or_exit('SMB/CA ARCserve Backup Server/Path');
version = get_kb_item_or_exit('SMB/CA ARCserve Backup Server/Version');

report = '';

# 12.x < SP1 (12.1)
if(version =~ "^12\.0\.")
{
  report += '\n  Installed Version : ' + version +
            '\n  Fixed Version     : 12.1' +
            '\n  Required Patch    : RO01340\n'; 
}
# check for individual patches
else
{
  registry_init();
  port = kb_smb_transport();

  login   =  kb_smb_login();
  pass    =  kb_smb_password();
  domain  =  kb_smb_domain();

  if(path[strlen(path) - 1] == "\")
    file = path + "DBserver.dll";
  else
    file = path + "\DBserver.dll";
    
  share = ereg_replace(pattern:'^([A-Za-z]):.*', replace:'\\1$', string:file);
  dll =  ereg_replace(pattern:'^[A-Za-z]:(.*)', replace:'\\1', string:file);
 
  rc = NetUseAdd(login:login, password:pass, domain:domain, share:share);
  if (rc != 1)
    audit(AUDIT_SHARE_FAIL, share);

  fh = CreateFile(
    file:dll,
    desired_access:GENERIC_READ,
    file_attributes:FILE_ATTRIBUTE_NORMAL,
    share_mode:FILE_SHARE_READ,
    create_disposition:OPEN_EXISTING
  );

  if (isnull(fh)) 
  {
    NetUseDel();
    exit(1, 'Unable to get timestamp of "DBserver.dll".');
  }

  ver = GetFileVersion(handle:fh);
  if (!isnull(ver))
  {
    version = join(ver, sep:'.');
  }
  else
  {
    NetUseDel();
    exit(1, 'Unable to get timestamp of "DBserver.dll".');
  }

  ret = GetFileVersionEx(handle:fh);
  CloseFile(handle:fh);
  
  NetUseDel();

  if (!isnull(ret))
    timestamp = int(ret['dwTimeDateStamp']);
  else
    exit(1, 'Unable to get timestamp of "DBserver.dll".');

  if(version =~ "^11\.5\.")
  {
    # 11.5 - Patch RO04383
    # Fixed timestamp
    # 1227625217
    # Tuesday, November 25, 2008 10:00:17 AM
    if(timestamp < 1227625217)
    {
      report += '\n  Installed Version      : ' + version + 
                '\n  DBserver.dll Timestamp : ' + timestamp +
                '\n  Fixed Timestamp        : 1227625217' +
                '\n  Required Patch         : RO04383\n';
    }
  } 
  else if(version =~ "^11\.1\.")
  {
    # 11.1 - Patch R004382
    # Fixed timestamp
    # 1227623541
    # Tuesday, November 25, 2008 9:32:21 AM EST
    if(timestamp < 1227623541)
    {
      report += '\n  Installed Version      : ' + version + 
                '\n  DBserver.dll Timestamp : ' + timestamp +
                '\n  Fixed Timestamp        : 1227623541' +
                '\n  Required Patch         : RO04382\n';
    }
  }
}

if(report == '')
  audit(AUDIT_INST_PATH_NOT_VULN, appname, version, path);

if(report_verbosity > 0)
  security_hole(port:port, extra:report);
else
  security_hole(port); 
VendorProductVersionCPE
caarcserve_backupcpe:/a:ca:arcserve_backup
Related for ARCSERVE_BACKUP_CVE-2008-5415.NASL