FOOF: воспроизводим легендарный баг в процессоре Pentium
Знаменитая ошибка деления — не единственный аппаратный дефект микроархитектуры P5. Не менее критичным оказался баг F00F. Выполнение одной специфической инструкции приводило к тому, что процессор переставал обрабатывать всё, включая аппаратные прерывания.
Байты
F0 0F C7 C8 кодируют команду
lock cmpxchg8b eax.
Из-за сбоя логики чип блокировал шину памяти в бесконечном ожидании записи. Любой непривилегированный код вызывал глухой отказ системы, спасала только жёсткая перезагрузка.
Воспроизведём уязвимый опкод на оригинальном железе.
Обсуждение 12
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram