Original Release Date: 2006-02-15 | Last Revised: 2006-02-15
Overview
IBM Lotus Notes contains a buffer overflow when handling a ZIP file with a large file name. This could allow a remote attacker to execute arbitrary code on a vulnerable system.
Description
IBM Lotus Notes is an integrated client application that provides functionality including email, calendar, instant messaging, and collaboration. Notes has the ability to extract ZIP archive files. The method for extracting ZIP files contains a buffer overflow vulnerability. The vulnerable code is executed when a user clicks the View option after selecting a ZIP file.
Impact
By convincing a user to view a specially crafted ZIP file, a remote attacker may be able to execute arbitrary code on a vulnerable system.
To work around these issues in previous releases of Notes, the affected file viewers can be disabled. The buffer overflow vulnerabilities affect the following files: kvarce.dll, uudrdr.dll, tarrdr.dll and htmsr.dll. The directory traversal vulnerability affects the kvarce.dll file.
There are three options for disabling these viewers:
1. Action: Delete the keyview.ini file in the Notes program directory. Results: When a user clicks View (for any file), a dialog box will be displayed with the message "Unable to locate the viewer configuration file."
2. Action: Delete the problem files (ziprdr.dll, uudrdr.dll, htmsr.dll, tarrdr.dll). Result: When a user tries to view the specific file types (html pages, zip/tar/uud archives), a dialog box will be displayed with the message "The viewer display window could not be initialized." All other file types work without returning the error message.
3. Action: Comment out specific lines in keyview.ini (by preceding the line with an asterisk * ) for any references to the problem files (dlls). For example: [KVARCVE] * 132=ziprdr.dll * 194=tarrdr.dll * 167=uudrdr.dll
Result: When a user tries to view the specific file types (html files, tar/uud archives), a dialog box will be displayed with the message "The viewer display window could not be initialized."