The following is a Security Bulletin from the Microsoft Product Security Notification Service. Please do not reply to this message, as it was sent from an unattended mailbox. ******************************** Microsoft Security Bulletin (MS99-015) -------------------------------------- Patch Available for "Malformed Help File" Vulnerability Originally Posted: May 17, 1999 Summary ======= Microsoft has released a patch that eliminates a vulnerability in the Microsoft (r) Windows NT (r) help utility. The vulnerability could allow arbitrary code to be run on a Windows NT machine. A fully supported patch is available to eliminate the vulnerability, and Microsoft recommends that affected customers download and install it, if appropriate. Issue ===== The Windows Help utility parses and displays help information for applications. The help information is contained in files of several types that are generated by the Help Compiler (part of the AppWizard utility), and is stored by default in the WINNT\help folder. By default, users can write to this folder. An unchecked buffer exists in the Help utility, and a help file that has been carefully modified could be used to execute arbitrary code on the local machine via a classic buffer overrun technique. Because the Help Compiler's output files do not generate the specific malformation at issue here, this vulnerability could not be accidentally exploited. The machines primarily at risk from this vulnerability are workstations, terminal servers, and other machines that allow users to log on interactively and add or modify help files. Servers generally do not allow normal users to interactively log on. It is important to note that this vulnerability would affect only the local machine; there is no capability to directly attack a remote machine via this vulnerability. The patch prevents arbitrary code from being executed on the machine, but does not prevent malformed help files from causing the Help utility to fail. However, failure of the Help utility does not threaten system stability or security, and the Help utility can be restarted without incident. While there are no reports of customers being adversely affected by this vulnerability, Microsoft is proactively releasing this patch to allow customers to take appropriate action to protect themselves against it. Affected Software Versions ========================== - Microsoft Windows NT 4.0 What Microsoft is Doing ======================= Microsoft has released patches that fix the problem identified. The patches are available for download from the sites listed below in What Customers Should Do. Microsoft also has sent this security bulletin to customers subscribing to the Microsoft Product Security Notification Service. See http://www.microsoft.com/security/services/bulletin.asp for more information about this free customer service. Microsoft has published the following Knowledge Base (KB) article on this issue: - Microsoft Knowledge Base (KB) article Q231605, Malformed Help File Causes Help Utility to Stop Responding, http://support.microsoft.com/support/kb/articles/q231/6/05.asp (Note: It might take 24 hours from the original posting of this bulletin for the KB article to be visible in the Web-based Knowledge Base.) What Customers Should Do ======================== Microsoft highly recommends that customers evaluate the degree of risk that this vulnerability poses to their systems and determine whether to download and install the patch. The patch can be found at: - X86 version: ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt40 /hotfixes-po stSP5/winhlp32-fix/winhlp-i.exe - Alpha version: ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt40 /hotfixes-po stSP5/winhlp32-fix/winhlp-a.exe NOTE: The above URLs have been word-wrapped for readability More Information ================ Please see the following references for more information related to this issue. - Microsoft Security Bulletin MS99-015, Patch Available for 'Malformed Help File' Vulnerability (The Web-posted version of this bulletin), http://www.microsoft.com/security/bulletins/ms99-015.asp. - Microsoft Knowledge Base (KB) article Q231605, Malformed Help File Causes Help Utility to Stop Responding, http://support.microsoft.com/support/kb/articles/q231/6/05.asp Obtaining Support on this Issue =============================== If you require technical assistance with this issue, please contact Microsoft Technical Support. For information on contacting Microsoft Technical Support, please see http://support.microsoft.com/support/contact/default.asp. Acknowledgments =============== Microsoft acknowledges David Litchfield (mnemonix@globalnet.co.uk) of Arca Systems for discovering this vulnerability and reporting it to us. Revisions ========= - May 17, 1999: Bulletin Created. For additional security-related information about Microsoft products, please visit http://www.microsoft.com/security ------------------------------------------------------------------------- THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. (c) 1999 Microsoft Corporation. All rights reserved. Terms of Use. ******************************************************************* You have received this e-mail bulletin as a result of your registration to the Microsoft Product Security Notification Service. You may unsubscribe from this e-mail notification service at any time by sending an e-mail to MICROSOFT_SECURITY-SIGNOFF-REQUEST@ANNOUNCE.MICROSOFT.COM The subject line and message body are not used in processing the request, and can be anything you like. For more information on the Microsoft Security Notification Service please visit http://www.microsoft.com/security/bulletin.htm. For security-related information about Microsoft products, please visit the Microsoft Security Advisor web site at http://www.microsoft.com/security. ----------------------------------------------------------------------------- Date: Tue, 18 May 1999 02:12:36 -0400 From: Russ To: NTBUGTRAQ@LISTSERV.NTBUGTRAQ.COM Subject: Alert: Microsoft Security Bulletin (MS99-015) with commentary On April 23rd, Mnemonix, in a message to Microsoft, "oh by the way" mentioned a vulnerability in winhlp32.exe. The buffer overrun, as described by Mnemonix, arose when a .cnt file contained an overly long entry string. The result was the ability to cause winhlp32.exe to run arbitrary code (no demo was offered, but it overwrote the EIP so one is plausible). Couple this with the fact that the winnt\help directory (where most .cnt files are written and stored) has EVERYONE: CHANGE permissions and it becomes possible to use this exploit to Trojan an NT box. Microsoft, in their bulletin, have gone to some lengths to try and suggest this is not remotely exploitable (like it matters). They have said it is only exploitable by someone logging onto the console or within Terminal Server environments. Fact is that this exploit can be invoked without ever having to touch the winnt\help directory, which means that MS' claims about it not being exploitable remotely are somewhat mis-stated. Any application will look first in its execution directory for an application specific .cnt file. So while the .hlp file might be in the winnt\help directory (with a .cnt file even), if a .cnt file exists with the correct name in the application execution directory, any call to help from the application will bring up the contents of the .cnt file in the application execution directory. If that .cnt file has been, um, malformed (to use MS' description), it can cause, um, a malfunction (or worse). If a .cnt file can be found in a user's path, it will similarly be used prior to one existing in the winnt\help directory. The number of possible locations that are widely available to non-Administrator users for the introduction of a Trojan'd .cnt file are, well, far too high to accept MS' rather subdued warning. I seem to remember that MS Office requires users to be able to write to far more common directories than we'd all like to imagine, doesn't it? They also made the rather bizarre statement that "Servers generally do not allow normal users to interactively log on." This somehow implies that only "normal users" might try and Trojan your server, so don't be worried because they can't log on anyway?? Of course the plethora of groups (other than Administrator) which, by default, are allowed to log on locally should still cause shivers to run up your spine (do you trust all of your Print Operators implicitly?). Trust me, more than enough people you probably shouldn't trust already have sufficient permissions to your servers to cause their Trojan'd .cnt file to be executed by people you do trust. Get it patched. For those that don't already know, a .cnt file is a file containing the information that gets displayed when you first bring up a help file. It is the "Contents" tab information. It is normally generated as part of compiling .rtf (Rich Text Files) files into .hlp (help) files. I'm honestly not trying to make more of this than is really there, but the MS Bulletin does somewhat downplay a rather serious fact...namely that a buffer overrun exists in a fundamentally basic component of NT. Mnemonix has focused his attention on a number of buffer overrun issues of late and should be applauded for working with MS to allow them to get a fix prepared and released. MS needs to focus far more efforts on uncovering these overruns themselves. My thanks to Mnemonix for including me in his original discovery message to MS. Related Links: http://www.microsoft.com/security/bulletins/ms99-015.asp http://support.microsoft.com/support/kb/articles/q231/6/05.asp http://ntbugtraq.ntadvice.com/ntfixes.asp Cheers, Russ - NTBugtraq Editor