iDefense Security Advisory 09.20.07 - Remote exploitation of multiple buffer overflow vulnerabilities in Computer Associates Inc.'s ARCServe Backup for Laptops and Desktops allows attackers to execute arbitrary code with SYSTEM privileges. The LGServer contains multiple vulnerable functions that handle network requests, several of which contain more than one vulnerability. All together there are nearly 60 buffer overflows in the LGServer. The majority of these are the result of copying remotely supplied strings into fixed-size buffers without validating that enough space is available. iDefense has confirmed the existence of these vulnerabilities in ARCServe Backup for Laptops and Desktops version 11.1 (Build 900) for Windows. Other versions may also be affected.
72c9521d69485fd2d5531c5609c4b4e539ccce5161f2e3b44db5b10798d90e23
CA ARCServe Backup for Laptops and Desktops Multiple Buffer Overflow
Vulnerabilities
iDefense Security Advisory 09.20.07
http://labs.idefense.com/intelligence/vulnerabilities/
Sep 20, 2007
I. BACKGROUND
ARCServe Backup for Laptops and Desktops is a version of ARCServe Backup
targeted at small to medium sized businesses, with many mobile/remote
users. It provides client agents that detect network connectivity and
commit backup data when it is found. For more information, consult the
product home page at the following URL.
http://www3.ca.com/solutions/Product.aspx?ID=263
II. DESCRIPTION
Remote exploitation of multiple buffer overflow vulnerabilities in
Computer Associates Inc.'s ARCServe Backup for Laptops and Desktops
allows attackers to execute arbitrary code with SYSTEM privileges.
The LGServer contains multiple vulnerable functions that handle network
requests, several of which contain more than one vulnerability. All
together there are nearly 60 buffer overflows in the LGServer.
The majority of these are the result of copying remotely supplied
strings into fixed-size buffers without validating that enough space is
available. A list of vulnerable commands follows.
rxsAddNewUser, rxsSetUserInfo, rxsRenameUser, rxsSetMessageLogSettings,
rxsExportData, rxsSetServerOptions, rxsRenameFile, rxsACIManageSend,
rxsExportUser, rxsImportUser, rxsMoveUserData, rxsUseLicenseIni,
rxsLicGetSiteId, rxsGetLogFileNames, rxsGetBackupLog,
rxsBackupComplete, rxsSetDataProtectionSecurityData,
rxsSetDefaultConfigName, rxsGetMessageLogSettings, rxsHWDiskGetTotal,
rxsHWDiskGetFree, rxsGetSubDirs, rxsGetServerDBPathName,
rxsSetServerOptions, rxsDeleteFile, rxsACIManageSend,
rxcReadBackupSetList, rxcWriteConfigInfo, rxcSetAssetManagement,
rxcWriteFileListForRestore, rxcReadSaveSetProfile,
rxcInitSaveSetProfile, rxcAddSaveSetNextAppList,
rxcAddSaveSetNextFilesPathList, rxcAddNextBackupSetIncWildCard,
rxcGetRevisions, rxrAddMovedUser, rxrSetClientVersion
By sending requests for the above functions with specially crafted
parameters, it is possible to cause a buffer overflow. Although most
involve stack based buffers, several involve heap based buffers.
Additionally, a stack based buffer overflow vulnerability exists in the
GetUserInfo() function. This function is a utility function that is
used by many of the request handling functions. It is possible to
trigger this vulnerability by passing a long user name parameter to
this function.
Another stack based buffer overflow exists within the handler for the
rxrLogin request. As its name suggests, this command logs in the user
after reading in the name and password. This handler contains several
unsafe calls to wsprintf(). By providing a long user name it is
possible to overflow a fixed size stack based buffer.
III. ANALYSIS
Exploitation allows an attacker to execute arbitrary code with SYSTEM
privileges.
In order to exploit these vulnerabilities, an attacker must be able to
establish a TCP session with the LGServer on port 1900. Unsuccessful
exploitation attempts will crash the server, which will not restart
automatically.
All of these vulnerabilities, with the exception of those in the
rxrLogin command, should only be able to be triggered by an
authenticated server administrator. However, due to the authentication
bypass vulnerability described in a previous iDefense advisory any
unauthenticated user can trigger them.
IV. DETECTION
iDefense has confirmed the existence of these vulnerabilities in
ARCServe Backup for Laptops and Desktops version 11.1 (Build 900) for
Windows. Other versions may also be affected.
V. WORKAROUND
iDefense is currently unaware of any workarounds for this issue.
VI. VENDOR RESPONSE
Computer Associates has addressed these vulnerabilities with an update.
For more information consult CA's security notice at the following URL.
http://supportconnectw.ca.com/public/sams/lifeguard/infodocs/caarcservebld-securitynotice.asp
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-5003 to the rxrLogin and GetUserInfo() issues. The remaining
issues have been assigned CVE-2007-3216. These are candidates for inclusion
in the CVE list (http://cve.mitre.org/), which standardizes names for
security problems.
VIII. DISCLOSURE TIMELINE
03/21/2007 Initial vendor notification
03/21/2007 Initial vendor response
09/20/2007 Public disclosure
IX. CREDIT
These vulnerabilities were discovered by an anonymous researcher and Sean
Larsson of VeriSign iDefense Labs.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2007 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@idefense.com for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.