WinZip is an archiving utility for the Microsoft Windows platform featuring built-in support for CAB files and for popular Internet file formats such as TAR, gzip, UUencode, BinHex, and MIME. ARJ, LZH, and ARC files are supported via external programs. More information is available at http://www.winzip.com.
Exploitation of a buffer overflow vulnerability within a parameter parsing routine of WinZip Computing Inc.'s WinZip Archive Utility for Windows allows remote attackers to execute arbitrary code.
The problem specifically exists in the UUDeview package which is used to support various decoding routines. When providing long strings to certain parameters of MIME archives (.mim, .uue, .uu, .b64, .bhx, .hqx and .xxe extensions) WinZip will crash referencing an "internal error in file misc.c line 132". Analysis of the log file created by WinZip upon crash reveals that exploitation is plausible:
Return address = 0041a923
Return address = 0044c06c
Return address = 41414141
Further analysis reveals that WinZip is crashing due to an invalid reference at the following instruction:
0049c332: mov dword ptr [ecx+08], edi
Both the ecx and edi registers in the above instruction are user controllable allowing an attacker to craft a MIME archive that upon opening will execute arbitrary code.
Successful exploitation requires that an attacker convince a target user to open a malicious MIME archive. The target user must have a vulnerable version of WinZip installed which by default includes a handler for the one of the vulnerable file types. Example methods of propagation include e-mail, web links and P2P software.
iDEFENSE has proof of concept exploit code demonstrating the impact of this vulnerability.
iDEFENSE has confirmed the existence of this vulnerability in WinZip 8.1 SR-1 (the latest stable version) and the latest beta release of Winzip 9.0. It is suspected that earlier versions are vulnerable as well.
User awareness is the best method of defense against this class of attack. Users must be wary when opening attachments or following links from untrusted sources.
Removal of the extension handler for vulnerable file types can prevent exploitation from double clicking on what may appear to be a harmless WinZip archive. This can be accomplished by opening Windows Explorer, selecting "Tools", then "Folder Options", selecting the "File Types" tab, scrolling to MIM and deleting the appropriate entry.
This issue has been addressed in WinZip 9.0, available at http://www.winzip.com/.
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not yet been assigned.