扂岆圉裂赽ㄛ妦繫飲祥雅腔....
呇葭珩祥諒諒扂陛

On 1堎29, 狟敁5奀41煦, raystyle <[email protected]> wrote:
> 褥ㄛAY珩旃噶祛堤賸ˋ
>
> 2009/1/29 ayaREI <[email protected]>
>
>
>
> > Periodically we get reports into the MSRC of stack exhaustion in
> > client-side applications such as Internet Explorer, Word, etc. These are
> > valid stability bugs that, fortunately, do not lead to an exploitable
> > condition by itself (no potential for elevation of privilege). We wanted to
> > clarify the distinction between stack exhaustion and stack buffer overflow.
> > Stack buffer overflows often lead to elevation of privilege. Unfortunately,
> > the literature tends to use stack overflow to refer to both cases, hence the
> > confusion. The error code STATUS_STACK_BUFFER_OVERRUN (0xc0000409) refers to
> > a stack buffer overflow while the error code STATUS_STACK_OVERFLOW
> > (0xc00000fd) refers to stack exhaustion.
>
> > On Bugtraq this morning, there was a public post of a stack exhaustion bug
> > that, fortunately, does not lead to arbitrary code execution. Let's take a
> > closer look at it and a few other examples. We'll start with today's Bugtraq
> > posting:
>
> > <INPUT type="text" name="A" value="CCCCCCCCCCCCCCCCCCCC(many thousands)">
>
> > When IE attempts to parse this HTML, it runs out of stack space. Hooking up
> > Windbg, you will observe the following first-chance exception:
>
> > (f9c.5b8): Stack overflow - code c00000fd (first chance)
> > First chance exceptions are reported before any exception handling.
> > This exception may be expected and handled.
> > eax=00000000 ebx=0337304c ecx=09410040 edx=0007c3c0 esi=00000000 
> > edi=0346b800
> > eip=77f66627 esp=03373000 ebp=03373000 iopl=0         nv up ei pl nz na pe 
> > nc
> > cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             
> > efl=00010206
> > 77f66627 56              push    esi
>
> > The stack is simply exhausted and there is no possibility of running
> > arbitrary code in this case. Let's look at a few others.
>
> > The next issue was also reported in IE recently:
>
> > <SCRIPT>
> > foo = new Array();
> > while(true) {foo = new Array(foo).sort();}
> > </SCRIPT>
>
> > Again, the HTML has requested an extra-ordinary amount of stack space. IE
> > attempts to allocate space and it eventually runs out. Unable to process the
> > HTML, it returns a stack overflow / exhaustion error (0xc00000fd).
>
> > One last example is from April 2008 and, again, it leads to a stack
> > overflow/exhaustion error (0xc00000fd):
>
> > var str = "aaaaaaaaaaaaaaa(many thousands)"
> > document.myform.text.value = str
> > document.myform.submit()
>
> > <form name='myform'>
> > <input name='text' type='text' />
> > <input name='Submit' type='submit' />
> > </form>
>
> > As you can see, there are several ways of reaching a stack exhaustion
> > condition. Fortunately, these are stability issues that by themselves cannot
> > lead to remote code execution. This happens when a parsing client-side
> > application cannot allocate enough stack space to complete an operation (as
> > shown in the examples here where a web page was attempting to allocate as
> > much stack as possible and eventually runs out of space).
>
> > We are always happy to triage bugs sent to [email protected]. Please
> > send them in to us. We are definitely committed to engineering and security
> > excellence. We evaluate every report and determine whether to service them
> > as security issues or whether to hand them off to the product team to fix as
> > reliability and stability issues. For each security issues, we will triage
> > against the SDL bug bar (link to sample bug 
> > bar<http://msdn.microsoft.com/en-us/library/cc307404.aspx>) and
> > address via the MSRC security bulletin process. All issues (such as these
> > stack exhaustion bugs) that are stability or reliability issues are triaged
> > according to customer impact and addressed in future releases of the
> > product.
>
> > - Jonathan Ness, SVRD blogger
>
> > *Posting is provided "AS IS" with no warranties, and confers no rights.*
>
> > References:
>
> > STATUS_STACK_OVERFLOW (0xc00000fd ):
>
> >    - Debugging a Stack Overflow
> >    http://msdn.microsoft.com/en-us/library/cc267849.aspx
> >    - StackOverflowException Class
> >    http://msdn.microsoft.com/en-us/library/system.stackoverflowexception...
>
> > STATUS_STACK_BUFFER_OVERRUN (0xc0000409):
>
> >    - Analyze Crashes to Find Security Vulnerabilities in Your Apps
> >    http://msdn.microsoft.com/en-us/magazine/cc163311.aspx

--~--~---------~--~----~------------~-------~--~----~
 要向邮件组发送邮件,请发到 [email protected]
 要退订此邮件,请发邮件至 [email protected]
-~----------~----~----~----~------~----~------~--~---

回复