Драйвер видеокарты NVIDIA нарушает режим приватности Chrome

Канадский студент и хакер по имени Эван Андерсен выявил ошибку в драйвере NVIDIA GeForce, который позволяет посмотреть страницу, отображённую в браузере Google Chrome до его закрытия, когда тот находится в режиме приватности.

Андерсен заявил, что выявил ошибку, когда запустив игру Diablo III увидел кадр из ролика для взрослых, который он смотрел в браузере за несколько часов до этого. Сам студент отмечает, что ошибка не всегда проявляется идельно, что, вероятно, связано с размером страницы.

Пример идеально сохранённой в кадровом буфере страницы

Оказалось, что когда вы закрываете Chrome в режиме приватности, кадровый буфер GPU не очищается, а добавляется к массиву свободной памяти GPU. Это приводит к тому, что ранее записанный туда контент появляется на экране.

Пример "битой" страницы

Это серьёзная проблема. Она разрушает границы разрешений пользователей в операционной системе, позволяя не администраторам шпионить друг за другом. Кроме того, для получения информации не требуется дополнительных эксплоитов — утечка может произойти совершенно случайно. Кто угодно, используя общий компьютер, может увидеть кадры, которые показывались другому пользователю.

Ошибку довольно легко исправить. Достаточно внести проверку в драйвер, которая будет гарантировать, что буфер, предоставляемый приложению, всегда чист. Именно так поступает ОС с оперативной памятью, и имеет смысл выполнять подобную проверку и для видео памяти. Кроме того, сам браузер может очищать все используемые ресурсы GPU перед собственным закрытием.

Андерсен отметил, что выявил ошибку ещё в 2014 году и сообщил о ней как в NVIDIA, так и в Google. Первая признала ошибку, однако до сих пор не исправила проблему. Вторая же отказалась исправлять ошибку, заявив, что режим совместимости не предназначен для защиты вас от других пользователей на том же ПК.