Buffer Overflow in CMD.EXE
Reported April 21, 2000 by Cerberus Information Security
CMD.EXE, the command processor for Windows NT 4.0 and Windows 2000, has an unchecked buffer in part of the code that handles environment strings
If a server provides batch or other script files, a user could potentially provide arguments that would create an extremely large environment string and overflow the buffer. This would cause the process to fail, which presents a dialog on the console screen that must be cleared, and the memory allocated to the process would not be made available again until that dialogue had been cleared.
On systems that are run remotely without consoles or local operators, a denial of service attack could be launched by consuming memory resources. The attack is possible since no one would be immediately available to notice and clear the error message dialogs.
The most likely means of attack would be via the use of batch files. Microsoft said they have thoroughly researched the problem and believe that code could not be made to run on the remote machine via this buffer overflow condition since the overflow occurs on the heap, rather than the stack. In general, heap overruns do not offer the prospect of running arbitrary code.
Discovered and reported by Cerberus Information Security