Vulnerabilities > CVE-2007-5006 - Improper Authentication vulnerability in multiple products

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
broadcom
ca
CWE-287
critical
nessus

Summary

Multiple command handlers in CA (Computer Associates) BrightStor ARCserve Backup for Laptops and Desktops r11.0 through r11.5 do not verify if a peer is authenticated, which allows remote attackers to add and delete users, and start client restores.

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Authentication Abuse
    An attacker obtains unauthorized access to an application, service or device either through knowledge of the inherent weaknesses of an authentication mechanism, or by exploiting a flaw in the authentication scheme's implementation. In such an attack an authentication mechanism is functioning but a carefully controlled sequence of events causes the mechanism to grant access to the attacker. This attack may exploit assumptions made by the target's authentication procedures, such as assumptions regarding trust relationships or assumptions regarding the generation of secret values. This attack differs from Authentication Bypass attacks in that Authentication Abuse allows the attacker to be certified as a valid user through illegitimate means, while Authentication Bypass allows the user to access protected material without ever being certified as an authenticated user. This attack does not rely on prior sessions established by successfully authenticating users, as relied upon for the "Exploitation of Session Variables, Resource IDs and other Trusted Credentials" attack patterns.
  • Exploiting Trust in Client (aka Make the Client Invisible)
    An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
  • Utilizing REST's Trust in the System Resource to Register Man in the Middle
    This attack utilizes a REST(REpresentational State Transfer)-style applications' trust in the system resources and environment to place man in the middle once SSL is terminated. Rest applications premise is that they leverage existing infrastructure to deliver web services functionality. An example of this is a Rest application that uses HTTP Get methods and receives a HTTP response with an XML document. These Rest style web services are deployed on existing infrastructure such as Apache and IIS web servers with no SOAP stack required. Unfortunately from a security standpoint, there frequently is no interoperable identity security mechanism deployed, so Rest developers often fall back to SSL to deliver security. In large data centers, SSL is typically terminated at the edge of the network - at the firewall, load balancer, or router. Once the SSL is terminated the HTTP request is in the clear (unless developers have hashed or encrypted the values, but this is rare). The attacker can utilize a sniffer such as Wireshark to snapshot the credentials, such as username and password that are passed in the clear once SSL is terminated. Once the attacker gathers these credentials, they can submit requests to the web service provider just as authorized user do. There is not typically an authentication on the client side, beyond what is passed in the request itself so once this is compromised, then this is generally sufficient to compromise the service's authentication scheme.
  • Man in the Middle Attack
    This type of attack targets the communication between two components (typically client and server). The attacker places himself in the communication channel between the two components. Whenever one component attempts to communicate with the other (data flow, authentication challenges, etc.), the data first goes to the attacker, who has the opportunity to observe or alter it, and it is then passed on to the other component as if it was never intercepted. This interposition is transparent leaving the two compromised components unaware of the potential corruption or leakage of their communications. The potential for Man-in-the-Middle attacks yields an implicit lack of trust in communication or identify between two components.

Nessus

NASL familyWindows
NASL idCA_BABLD_LGSERVER_RCE1.NASL
descriptionAccording to the version of rxRPC.dll installed on the remote host, the Computer Associates product is affected by multiple vulnerabilities that could allow a remote attacker to execute arbitrary code on the host.
last seen2020-06-01
modified2020-06-02
plugin id69317
published2013-08-13
reporterThis script is Copyright (C) 2013-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/69317
titleCA ARCserve Backup for Laptops and Desktops Server and CA Desktop Management Suite Multiple Remote Vulnerabilities
code
#
# (C) Tenable Network Security, Inc.
#

include("compat.inc");

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

  script_cve_id(
    "CVE-2007-3216",
    "CVE-2007-5003",
    "CVE-2007-5004",
    "CVE-2007-5005",
    "CVE-2007-5006",
    "CVE-2008-1328",
    "CVE-2008-1329"
  );
  script_bugtraq_id(
    24348,
    28616
  );

  script_name(english:"CA ARCserve Backup for Laptops and Desktops Server and CA Desktop Management Suite Multiple Remote Vulnerabilities");
  script_summary(english:"Checks version of rxRPC.dll");

  script_set_attribute(
    attribute:"synopsis",
    value:
"The remote host has software installed that is affected by multiple
remote vulnerabilities."
  );
  script_set_attribute(
    attribute:"description",
    value:
"According to the version of rxRPC.dll installed on the remote host, the
Computer Associates product is affected by multiple vulnerabilities that
could allow a remote attacker to execute arbitrary code on the host."
  );
  # https://support.ca.com/irj/portal/anonymous/phpsupcontent?contentID=173105
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?9c393da3");
  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:F/RL:OF/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");
  script_set_attribute(attribute:"metasploit_name", value:'CA BrightStor ARCserve for Laptops and Desktops LGServer Buffer Overflow');
  script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
  script_set_attribute(attribute:"exploit_framework_canvas", value:"true");
  script_set_attribute(attribute:"canvas_package", value:'D2ExploitPack');
  script_cwe_id(22, 119, 189, 287);

  script_set_attribute(attribute:"vuln_publication_date", value:"2007/09/20");
  script_set_attribute(attribute:"patch_publication_date", value:"2008/04/03");
  script_set_attribute(attribute:"plugin_publication_date", value:"2013/08/13");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:ca:arcserve_backup_for_laptops_and_desktops");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:ca:brightstor_arcserve_backup_laptops_desktops");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:ca:desktop_management_suite");
  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_dependencies("smb_hotfixes.nasl");
  script_require_keys("SMB/Registry/Enumerated");
  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");

registry_init();
port = kb_smb_transport();

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

key_list = make_list(
  # BABLD (Server) 11.5 / 11.1
  "SOFTWARE\ComputerAssociates\BrightStor Mobile Backup Server\CurrentVersion\InstallDir",
  # BABLD (Explorer) 11.5
  "SOFTWARE\ComputerAssociates\BrightStor Mobile Backup Manager GUI\CurrentVersion\InstallDir",
  # BABLD (Explorer) 11.1
  "SOFTWARE\ComputerAssociates\BrightStor Mobile Backup Admin Gui\CurrentVersion\InstallDir"
);

check_paths = make_list();

hklm = registry_hive_connect(hive:HKEY_LOCAL_MACHINE, exit_on_fail:TRUE);
foreach key (key_list)
{
  path = get_registry_value(handle:hklm, item:key);
  if (!isnull(path) && path != '')
    check_paths = make_list(check_paths, tolower(path));
}

RegCloseKey(handle:hklm);

# Additional hard-coded check paths for CA Desktop Management Suite
check_paths = make_list(
  check_paths,
  tolower("C:\Program Files (x86)\CA\DSM\BABLD\MGUI\"),
  tolower("C:\Program Files\CA\DSM\BABLD\MGUI\")
);

check_paths = list_uniq(check_paths);

info = '';

foreach path (check_paths)
{
  file = path + 'rxRPC.dll';

  share = ereg_replace(pattern:'^([A-Za-z]):.*', replace:'\\1$', string:file);
  dll =  ereg_replace(pattern:'^[A-Za-z]:(.*)', replace:'\\1', string:file);

  NetUseDel(close:FALSE);

  rc = NetUseAdd(login:login, password:pass, domain:domain, share:share);
  if (rc != 1)
    continue;

  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)) continue;

  ver = GetFileVersion(handle:fh);
  if (!isnull(ver))
    version = join(ver, sep:'.');
  else
    continue;

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

  if (!isnull(ret))
    timestamp = int(ret['dwTimeDateStamp']);
  else
    continue;

  fix = '';
  fix_ts = '';

  if (version =~ "^11\.0\.")
  {
    fix = '11.1 SP2 (QI85497) with QO95512';
  }
  else if (version =~ "^11\.1\.")
  {
    # fix: QO95512
    # ts: 1203315832
    # Monday, February 18, 2008 1:23:52 AM EST
    if (timestamp < 1203315832)
    {
      fix = 'QO95512';
      fix_ts = '1203315832';
    }
  }
  else if (version =~ "^11\.5\.")
  {
    # fix: QO95513
    # ts: 1203318093
    # Monday, February 18, 2008 2:01:33 AM EST
    if (timestamp < 1203318093)
    {
      fix = 'QO95513';
      fix_ts = '1203318093';
    }
  }

  if (fix != '')
  {
    info +=  '\n  Path            : ' + file +
             '\n  Version         : ' + version +
             '\n  Timestamp       : ' + timestamp;
    if (fix_ts != '')
      info += '\n  Fixed Timestamp : ' + fix_ts;
    info += '\n  Required Patch  : ' + fix + '\n';
  }
}

NetUseDel();

if (info != '')
{
  if (report_verbosity > 0)
  {
    report = '\nNessus found the following unpatched rxRPC.dll files :\n' + info;
    security_hole(port:port, extra:report);
  }
  else security_hole(port);
  exit(0);
}

exit(0, 'No vulnerable CA products found.');

Saint

  • bid24348
    descriptionBrightStor ARCserve Backup LGServer directory traversal
    idmisc_arcservecategory_lgserverauthuo
    osvdb41350
    titlebrightstor_arcserve_rxrreceivefile
    typeremote
  • bid24348
    descriptionBrightStor ARCserve Backup LGServer rxrLogin buffer overflow
    idmisc_arcservecategory_lgserverauthuo
    osvdb41353
    titlebrightstor_arcserve_rxrlogin
    typeremote
  • bid24348
    descriptionCA ARCserve Backup for Laptops and Desktops LGServer password integer overflow
    idmisc_arcservecategory_lgserverauthuo
    osvdb41352
    titlebrightstor_arcserve_lgserver_password
    typeremote
  • bid24348
    descriptionBrightStor ARCserve Backup LGServer rxsUseLicenseIni buffer overflow
    idmisc_arcservecategory_lgserverauthuo
    osvdb35329
    titlebrightstor_arcserve_rxsuselicenseini
    typeremote

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 24348 CVE(CAN) ID: CVE-2007-3216,CVE-2007-5003,CVE-2007-5004,CVE-2007-5005,CVE-2007-5006 ARCServe Backup for Laptops and Desktops (L&amp;D)是适用于中小业务的ARCServe Backup备份工具版本。 ARCserve L&amp;D在处理RPC接口上的畸形请求数据时存在漏洞,远程攻击者可能利用此漏洞控制服务器或执行目录遍历。 ARCserve L&amp;D使用TCP/1900端口做为RPC接口管理ARCserve L&amp;D服务器,正常的通讯示例如下: 0000000027rxrLogin~~administrator --------------------------------------------- Field 1: 10-digit base10 command length field (&quot;0000000027&quot;) Field 2: RPC command (&quot;rxrLogin&quot;) Field 3: Constant Argument Delimiter (&quot;~~&quot;) Field 4: Argument (&quot;administrator&quot;) #1 认证用户名缓冲区溢出 rxRPC.dll的认证部分(通过TCP/1900访问)中存在栈溢出漏洞。合法的认证报文示例如下: 0000000013rxrLogin~~administrator 认证时使用wsprintfW将administrator参数拷贝到了栈上0x1AC大小的缓冲区,但没有执行字符串长度检查,如果在第一个认证请求中发送了超长用户名的话就可以触发可利用的溢出。 #2 认证口令缓冲区溢出 rxRPC.dll的认证部分存在栈溢出漏洞。带有口令的合法认证请求示例如下: 1: 0000000030rxrLogin~~administrator~~0000200 2: MyPasswordIs1234 第一个rxrLogin请求的第二个参数定义了下一个请求中所要发送口令的长度。尽管已经验证了第二个请求中的口令字符串长度为正确的长度,但没有对口令长度执行边界检查。如果在第二个请求中的超长口令指定了超长口令长度的话,就会溢出口令字符串目的地所使用的栈缓冲区。 #3 认证口令整数溢出 rxRPC.dll的认证部分存在栈溢出漏洞。带有无效口令的合法认证请求示例如下: 1: 0000000030rxrLogin~~administrator~~18 2: 000000000000000000 加密的无效口令可能导致可利用的情况: .text: 00231F24 mov cl, [esi+8] .text: 00231F27 and ecx, 0x0F .text: 00231F2A add esp, 8 .text: 00231F2D dec ecx ; XXXX Integer Overflow If ECX = 0 .text: 00231F2E mov [esp+0x7C+var_6C], eax .text: 00231F32 mov dwPasswordCopyLength, ecx .text: 00231F38 mov eax, ecx .text: 00231F3A lea esi, [esp+0x7C+var_6C] .text: 00231F3E mov edi, ebx .text: 00231F40 shr ecx, 2 .text: 00231F43 rep movs ; XXXX EXCEPTION: HITS PAGE BOUNDARY XXXX 源缓冲区中的数据包含有大量不可控的数据,但还存在用户名的拷贝,因此如果在原始报文中指定了超长用户名的话就会覆盖异常处理器。 #4 任意文件上传 rxRPC.dll的未经认证通讯存在任意文件上传漏洞。上传请求的文件示例如下: 1: 0000000056rxrReceiveFileFromServer~~8~~test1234.txt~~4~~3675727989 2: 0000000031~~&lt;file_contents&gt; 请求的第一个参数指定了rxrReceiveFileFromServer的子命令,数字8表示文件会上传到ARCserve L&amp;D的安装目录;第二个参数指定了文件目标名称;第三个参数指定了目标文件的长度;第五个参数指定了入站文件的CRC32哈希。 但rxRPC.dll没有防范通过子函数8的目录遍历,因此如果文件名中包含有“..\”的话,就可能导致以系统级权限向任意目录写入任意文件。 #5 多个类似的缓冲区溢出 有八个通过TCP/1900端口可访问的函数中存在缓冲区溢出,示例如下: rxsUseLicenseIni~~&lt;overflow&gt; rxsLicGetSiteId~~&lt;overflow&gt; rxsGetLogFileNames~~&lt;overflow&gt;~~40000 rxsGetBackupLog~~aa~~&lt;overflow&gt;~~40000 rxsBackupComplete~~aa~~aa~~aa~~&lt;overflow&gt;~~aa rxsSetDataGrowthScheduleAndFilter~~aa~~aa~~aa~~aa~~&lt;overflow&gt; rxsSetDefaultConfigName~~&lt;overflow&gt; rxrSetMessageLogSettings~~65~~45~~79~~65~~&lt;overflow&gt;~~52~65~73~65~61~72~63~68~21 Computer Associates Protection Suites r2 Computer Associates ARCserve Backup (L&amp;D) r4.0 Computer Associates ARCserve Backup (L&amp;D) r11.5 Computer Associates ARCserve Backup (L&amp;D) r11.1 SP2 Computer Associates ARCserve Backup (L&amp;D) r11.1 SP1 Computer Associates ARCserve Backup (L&amp;D) r11.1 Computer Associates ARCserve Backup (L&amp;D) r11.0 Computer Associates Desktop Management Suite 11.2 Computer Associates Desktop Management Suite 11.1 Computer Associates Desktop Management Suite 11.0 临时解决方法: * 在主机禁用TCP/1900端口。 厂商补丁: Computer Associates ------------------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: <a href="http://supportconnectw.ca.com/public/sams/lifeguard/infodocs/caarcservebld-securitynotice.asp" target="_blank">http://supportconnectw.ca.com/public/sams/lifeguard/infodocs/caarcservebld-securitynotice.asp</a>
idSSV:2247
last seen2017-11-19
modified2007-09-25
published2007-09-25
reporterRoot
titleCA ARCserve Backup多个远程溢出及目录遍历漏洞