The MS10-025 update has been retracted, MS states that it “does not address the underlying issue” .
MS10-025 is a Windows Server 2000 SP4 Windows media services Stack-based buffer overflow. Both are the same concept, but Stack vs Heap referrers to where the overflow occurred.
A Heap overflow takes place in a dynamically allocated section of memory, for those of you that can understand c it would be a variable crated with the “malloc” function. Heap memory is allocated at run time ( dynamic ).
char *buff = malloc(10);
Stack overflows take place in static variables ( set at compile time ). Again if you can read c and if you cannot this will look familiar.
Either one is exploited by the same technique, sending more data then the buffer can hold.
Here is the technical write up at US-Cert.