Вероятно вы знаете о недавней уязвимости в ActiveX компоненте MSVidCtl. Эта уязвимость позволяла выполнить свой код, используя уязвимость буфера. Не так давно в одном из блогов, посвящённом SDL можно было увидеть описание ошибки программиста, которая могла привести к переполнению буфера и ей могли воспользоваться хакеры.

Ошибка заключается в одном символе, вместо правильного кода:

hr = pStream->Read((void*)pbArray, (ULONG)cbSize, NULL);

программист написал:

hr = pStream->Read((void*)&pbArray, (ULONG)cbSize, NULL);

Ввод лишнего амперсанда ( &, получение адреса) привёл к тому, что другой человек при желании мог бы воспользоваться этим багом и произвести переполнение буфера со всеми возможными последствиями.

Ваш отзыв