Microsoft Windows Task Scheduler '.job' Stack Overflow
NGSSoftware Insight Security Research Advisory
Name: Microsoft Windows Task Scheduler '.job' Stack Overflow
Confirmed Systems Affected: Microsoft Windows XP
Systems Reportedly Affected: Windows 2000 and Windows NT SP6 with
Microsoft Internet Explorer 6.
Severity: Critical
Vendor URL: http://www.microsoft.com/
Author: Peter Winter-Smith [ peter@xxxxxxxxxxxxxxx ]
Date Vendor Notified: 6th May 2004
Date of Public Advisory: 13th July 2004
Advisory number: #NISR13072004
Advisory URL: http://www.ngssoftware.com/advisories/mstaskjob.txt
Description
***********
The Microsoft Windows operating system provides a service which is
designed to run a particular application at a given time or date - the
Task Scheduler. When a new task is added through the control panel
application, a '.job' file containing this information is created and
stored in the 'Tasks' folder in the Windows directory.
It has been found that it is possible to create a specially crafted '.job'
file which could allow local or remote code execution using a number of
different applications as the attack vectors.
Details
*******
By crafting a '.job' file which contains overly long parameters, stack
based buffers can be overflowed, resulting in critical information,
including a saved return address or a structured exception handler
structure being completely overwritten, allowing an attacker to direct
the code execution flow to an address of their choosing. If the file
contains arbitrary executable code, the process can be forced to execute
this allowing, in worst cases, complete control over the target system.
The actual vulnerability arises from a lack of boundary checking performed
when copying the information out of memory containing the contents of the
file into the stack based buffers.
In some circumstances the overflow is triggered automatically when
viewing the directory that contains the job file in an explorer window
due to the fact that 'shell32.dll' will detect the '.job' file extension,
and load 'mstask.dll' allowing the module to examine the file, which
is when the overflow occurs.
Due to the fact that the overflow is triggered by a module loaded within
the process space of another running executable, any code which would be
executed by exploiting this flaw will be run with the privileges of the
user running that application, in the most common cases this would be the
user logged on to the machine.
Two applications which have been successfully tested as vectors for
exploiting this issue are Windows Explorer and Internet Explorer - when
attempting to view network shares containing the '.job' file. File
sharing through MSN Messenger has also been proven to be an effective
vector for attack. In the case of Internet Explorer, this issue could be
exploited simply by viewing a website containing a frame pointing to a
network share containing the '.job' file. Please note that there are many
other ways of exploiting this issue, this is certainly not an exhaustive
list.
Fix Information
***************
Microsoft have provided a fix for this issue which can be downloaded from
the Microsoft Security website at:
http://www.microsoft.com/technet/security/bulletin/ms04-022.mspx
A check for this vulnerability has been added to Typhon III, NGSSoftware's
advanced vulnerability assessment scanner. For more information please
visit the NGSSoftware website at http://www.ngssoftware.com/
About NGSSoftware
*****************
NGSSoftware design, research and develop intelligent, advanced application
security assessment scanners. Based in the United Kingdom, NGSSoftware
have offices in the South of London and the East Coast of Scotland.
NGSSoftware's sister company NGSConsulting offers best of breed security
consulting services, specialising in application, host and network
security assessments.
http://www.ngssoftware.com/
Telephone +44 208 401 0070
Fax +44 208 401 0076
enquiries@xxxxxxxxxxxxxxx