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 <Russ.Cooper@RC.ON.CA>
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