Исследователи из Университета Торонто раскрыли GPUThor, атаку класса Rowhammer на рабочие видеокарты NVIDIA с памятью GDDR6. На четырёх картах поколения Ampere они обрабатывали по четыре банка DRAM, отводя каждому по 24 часа, и добились переворотов битов на всех ускорителях. GPUThor способен вызвать отказ в обслуживании (DoS), незаметно исказить данные (SDC), повысить привилегии и открыть root-оболочку на хосте. Причём атака проходит через системную коррекцию ошибок ECC, которую NVIDIA рекомендовала как средство защиты от GPU Rowhammer.
Ещё в уведомлении по безопасности от июля 2025 года NVIDIA ссылалась на предыдущий эксперимент Университета Торонто с NVIDIA A6000 и GDDR6: «Недавно исследователи из Университета Торонто показали успешную эксплуатацию Rowhammer на графическом процессоре NVIDIA A6000 с памятью GDDR6, где не была включена системная ECC. В той же работе исследователи показали, что включение системной ECC смягчает проблему Rowhammer». GPUThor меняет эту оценку: сбой карты и захват привилегий на хосте получены уже при включённой ECC.
Техническая основа GPUThor — неравномерный hammering. Строка-агрессор рядом со строкой-жертвой активируется намного чаще, чем строки-приманки; приманки нужны, чтобы запутать встроенную защиту Target Row Refresh, или TRR. В прежних GPU-атаках агрессоры и приманки обычно нагружались примерно одинаково. Исследователи также разобрались с поведением warp, группы из 32 потоков, исполняющихся синхронно. Повторные обращения одного warp контроллер памяти объединяет в единственную активацию DRAM. Обращения из разных warp к разным линиям кэша в пределах одной строки DRAM сохраняются раздельно. Поэтому ядра GPUThor разносят запросы по warp и линиям кэша, выжимая максимум реальных активаций. По оценке авторов работы, TRR в проверенной GDDR6 срабатывает примерно раз в 72 интервала обновления, а не при каждом интервале; под этот предполагаемый график была собрана схема из шести интервалов.
С отключённой ECC четыре карты дали от 72 000 до 377 000 переворотов битов на гигабайт. Самой уязвимой оказалась NVIDIA RTX A5000: 377 552 переворота на гигабайт. Это в 23 597 раз выше результата GPUHammer, равного 16 переворотам, и примерно в 500 раз выше 758 переворотов GDDRHammer, до этого считавшейся сильнейшей Rowhammer-атакой на GPU. Показатель RTX A5000 приблизился к 550 000 переворотов на гигабайт у Blacksmith — метода неравномерного hammering для обхода встроенной защиты DDR4.
При подсчёте на участках размером 16 байт исследователи обнаружили 387 двойных и два тройных переворота. Одна RTX A5000 дала 306 двойных ошибок и обе тройные. Используемая видеокартами схема SECDED, Single Error Correct, Double Error Detect, исправляет один повреждённый бит и распознаёт два, но, по данным исследователей, способна неверно «исправить» три. Двойная ошибка относится к DUE, Detectable, Uncorrectable Error: повреждение замечено, однако исправить его нельзя. Тройное ошибочное исправление может превратиться в SDC, Silent Data Corruption, когда система принимает испорченное значение как нормальное и продолжает с ним работать.
На собственной NVIDIA RTX A6000 с включённой ECC суточный hammering одного банка DRAM вызвал 11 обнаруженных неисправимых ошибок DUE и один случай скрытого повреждения SDC. В среднем DUE возникала примерно раз в два часа. Каждая такая ошибка останавливает все ядра, выполняющиеся на GPU, после чего карта остаётся непригодной для работы до сброса. Даже без дальнейшей эксплуатации этого достаточно для практической DoS-атаки.
Для захвата хоста авторы повторно использовали код из своей прежней работы GPUBreach, посвящённой повышению привилегий через таблицы страниц GPU. Сначала страницы размещают так, чтобы нужная запись таблицы попала в уязвимую строку DRAM. Соседние строки подвергают hammering, повреждая номер физического кадра в записи. Второе GPU-ядро обращается через неё к памяти за пределами процесса, после чего запись перенаправляют на память CPU. Перезапись структуры учётных данных процесса даёт повышение привилегий на стороне хоста и позволяет получить root-оболочку.
Тройная SDC позволила добиться root-доступа даже при включённом IOMMU. Для двойной DUE исследователи показали другой путь, работающий при отключённом IOMMU. Причина кроется в том, что NVIDIA обрабатывает DUE с задержкой, не обрывая исполнение немедленно. «Более того, мы обнаружили, что даже двойные DUE пригодны для эксплуатации, поскольку DUE обслуживаются в графических процессорах NVIDIA с задержкой, оставляя окно примерно в 10 мс между обнаружением DUE и остановкой GPU; в течение этого времени повреждённые данные потребляются GPU-ядром атакующего», — говорится в работе. Эти десять миллисекунд оставляют вредоносному CUDA-коду короткий, но достаточный шанс использовать искажённую запись.
Поиск пригодных для эксплуатации многобитовых ошибок на RTX A6000 без срабатывания DUE занял около четырёх дней. Для полной атаки с повышением привилегий указано время 21,9 часа. Одновременно в описании приведены результаты по 1,1 минуты как для шаблонов GPUHammer, так и для шаблонов GPUThor. Чем именно различаются 21,9 часа и два измерения по 1,1 минуты, в опубликованном тексте не разъяснено, поэтому складывать эти показатели в единую длительность атаки было бы неверно.
Те же шаблоны не дали наблюдаемых переворотов на NVIDIA A10, L4 и L40 с GDDR6, RTX 4090 с GDDR6X и A30 с HBM2e. Проверялись также другие варианты HBM, GDDR6X и GDDR6 новых поколений. Авторы пояснили: «Мы также протестировали другие типы памяти (см. Приложение D), включая HBM, GDDR6X и GDDR6 новых поколений на графических процессорах NVIDIA, и не наблюдали на них переворотов битов. Вероятно, причина в отличиях реализаций TRR в этой памяти от GPU диапазона A4000–A6000, из-за чего шаблоны GPUThor не срабатывают». NVIDIA A100 и H100 в набор испытаний не входили. Отсутствие ошибок на проверенных новых моделях говорит лишь о неудаче нынешних шаблонов, а не о доказанной невосприимчивости оборудования.
Серверные Ampere и более новые GPU оснащаются механизмами Error Containment и Dynamic Page Offlining, способными изолировать сбой в приложении, которое его вызвало. Но там по-прежнему применяется ECC уровня SECDED, поэтому авторы допускают эксплуатацию через скрытое повреждение SDC. В некоторых Blackwell предусмотрен RAS Repair: он может замедлить атаку через DUE, однако полностью такой путь не закрывает. О GPUThor сообщили NVIDIA 29 апреля 2026 года; уведомления также получили Google, Microsoft и Amazon Web Services (AWS). Эмбарго закончилось 25 августа 2026 года, когда NVIDIA, по словам исследователей, выпустила рекомендации. The Hacker News запросил у NVIDIA разъяснение о достаточности ECC, а у команды Университета Торонто — дополнительные сведения; к моменту публикации ответов не поступило.
На 27 августа 2026 года GPUThor не имел идентификатора CVE, полностью закрывающего проблему программного или микропрограммного исправления не существовало, случаев эксплуатации вне лаборатории не зарегистрировали. Исследователи советуют не делить GPU между арендаторами, ограничивать недоверенные нагрузки CUDA, отслеживать счётчики ошибок ECC и всё же оставлять ECC включённой. На сайте проекта их позиция сформулирована так: «Мы использовали эти методы, чтобы выводить GPU из строя и повышать привилегии при включённой ECC. ECC всё ещё усложняет атаку и её стоит включать, но считать её достаточной защитой больше нельзя». Полноценное аппаратное исправление потребует коррекции многобитовых ошибок и более строгой защиты DRAM, включая Refresh Management и Per-Row Activation Counting. Код атаки намечено открыть 15 ноября 2026 года, в первый день ACM Conference on Computer and Communications Security, где запланирована презентация работы GPUThor.
Ещё в уведомлении по безопасности от июля 2025 года NVIDIA ссылалась на предыдущий эксперимент Университета Торонто с NVIDIA A6000 и GDDR6: «Недавно исследователи из Университета Торонто показали успешную эксплуатацию Rowhammer на графическом процессоре NVIDIA A6000 с памятью GDDR6, где не была включена системная ECC. В той же работе исследователи показали, что включение системной ECC смягчает проблему Rowhammer». GPUThor меняет эту оценку: сбой карты и захват привилегий на хосте получены уже при включённой ECC.
Техническая основа GPUThor — неравномерный hammering. Строка-агрессор рядом со строкой-жертвой активируется намного чаще, чем строки-приманки; приманки нужны, чтобы запутать встроенную защиту Target Row Refresh, или TRR. В прежних GPU-атаках агрессоры и приманки обычно нагружались примерно одинаково. Исследователи также разобрались с поведением warp, группы из 32 потоков, исполняющихся синхронно. Повторные обращения одного warp контроллер памяти объединяет в единственную активацию DRAM. Обращения из разных warp к разным линиям кэша в пределах одной строки DRAM сохраняются раздельно. Поэтому ядра GPUThor разносят запросы по warp и линиям кэша, выжимая максимум реальных активаций. По оценке авторов работы, TRR в проверенной GDDR6 срабатывает примерно раз в 72 интервала обновления, а не при каждом интервале; под этот предполагаемый график была собрана схема из шести интервалов.
С отключённой ECC четыре карты дали от 72 000 до 377 000 переворотов битов на гигабайт. Самой уязвимой оказалась NVIDIA RTX A5000: 377 552 переворота на гигабайт. Это в 23 597 раз выше результата GPUHammer, равного 16 переворотам, и примерно в 500 раз выше 758 переворотов GDDRHammer, до этого считавшейся сильнейшей Rowhammer-атакой на GPU. Показатель RTX A5000 приблизился к 550 000 переворотов на гигабайт у Blacksmith — метода неравномерного hammering для обхода встроенной защиты DDR4.
При подсчёте на участках размером 16 байт исследователи обнаружили 387 двойных и два тройных переворота. Одна RTX A5000 дала 306 двойных ошибок и обе тройные. Используемая видеокартами схема SECDED, Single Error Correct, Double Error Detect, исправляет один повреждённый бит и распознаёт два, но, по данным исследователей, способна неверно «исправить» три. Двойная ошибка относится к DUE, Detectable, Uncorrectable Error: повреждение замечено, однако исправить его нельзя. Тройное ошибочное исправление может превратиться в SDC, Silent Data Corruption, когда система принимает испорченное значение как нормальное и продолжает с ним работать.
На собственной NVIDIA RTX A6000 с включённой ECC суточный hammering одного банка DRAM вызвал 11 обнаруженных неисправимых ошибок DUE и один случай скрытого повреждения SDC. В среднем DUE возникала примерно раз в два часа. Каждая такая ошибка останавливает все ядра, выполняющиеся на GPU, после чего карта остаётся непригодной для работы до сброса. Даже без дальнейшей эксплуатации этого достаточно для практической DoS-атаки.
Для захвата хоста авторы повторно использовали код из своей прежней работы GPUBreach, посвящённой повышению привилегий через таблицы страниц GPU. Сначала страницы размещают так, чтобы нужная запись таблицы попала в уязвимую строку DRAM. Соседние строки подвергают hammering, повреждая номер физического кадра в записи. Второе GPU-ядро обращается через неё к памяти за пределами процесса, после чего запись перенаправляют на память CPU. Перезапись структуры учётных данных процесса даёт повышение привилегий на стороне хоста и позволяет получить root-оболочку.
Тройная SDC позволила добиться root-доступа даже при включённом IOMMU. Для двойной DUE исследователи показали другой путь, работающий при отключённом IOMMU. Причина кроется в том, что NVIDIA обрабатывает DUE с задержкой, не обрывая исполнение немедленно. «Более того, мы обнаружили, что даже двойные DUE пригодны для эксплуатации, поскольку DUE обслуживаются в графических процессорах NVIDIA с задержкой, оставляя окно примерно в 10 мс между обнаружением DUE и остановкой GPU; в течение этого времени повреждённые данные потребляются GPU-ядром атакующего», — говорится в работе. Эти десять миллисекунд оставляют вредоносному CUDA-коду короткий, но достаточный шанс использовать искажённую запись.
Поиск пригодных для эксплуатации многобитовых ошибок на RTX A6000 без срабатывания DUE занял около четырёх дней. Для полной атаки с повышением привилегий указано время 21,9 часа. Одновременно в описании приведены результаты по 1,1 минуты как для шаблонов GPUHammer, так и для шаблонов GPUThor. Чем именно различаются 21,9 часа и два измерения по 1,1 минуты, в опубликованном тексте не разъяснено, поэтому складывать эти показатели в единую длительность атаки было бы неверно.
Те же шаблоны не дали наблюдаемых переворотов на NVIDIA A10, L4 и L40 с GDDR6, RTX 4090 с GDDR6X и A30 с HBM2e. Проверялись также другие варианты HBM, GDDR6X и GDDR6 новых поколений. Авторы пояснили: «Мы также протестировали другие типы памяти (см. Приложение D), включая HBM, GDDR6X и GDDR6 новых поколений на графических процессорах NVIDIA, и не наблюдали на них переворотов битов. Вероятно, причина в отличиях реализаций TRR в этой памяти от GPU диапазона A4000–A6000, из-за чего шаблоны GPUThor не срабатывают». NVIDIA A100 и H100 в набор испытаний не входили. Отсутствие ошибок на проверенных новых моделях говорит лишь о неудаче нынешних шаблонов, а не о доказанной невосприимчивости оборудования.
Серверные Ampere и более новые GPU оснащаются механизмами Error Containment и Dynamic Page Offlining, способными изолировать сбой в приложении, которое его вызвало. Но там по-прежнему применяется ECC уровня SECDED, поэтому авторы допускают эксплуатацию через скрытое повреждение SDC. В некоторых Blackwell предусмотрен RAS Repair: он может замедлить атаку через DUE, однако полностью такой путь не закрывает. О GPUThor сообщили NVIDIA 29 апреля 2026 года; уведомления также получили Google, Microsoft и Amazon Web Services (AWS). Эмбарго закончилось 25 августа 2026 года, когда NVIDIA, по словам исследователей, выпустила рекомендации. The Hacker News запросил у NVIDIA разъяснение о достаточности ECC, а у команды Университета Торонто — дополнительные сведения; к моменту публикации ответов не поступило.
На 27 августа 2026 года GPUThor не имел идентификатора CVE, полностью закрывающего проблему программного или микропрограммного исправления не существовало, случаев эксплуатации вне лаборатории не зарегистрировали. Исследователи советуют не делить GPU между арендаторами, ограничивать недоверенные нагрузки CUDA, отслеживать счётчики ошибок ECC и всё же оставлять ECC включённой. На сайте проекта их позиция сформулирована так: «Мы использовали эти методы, чтобы выводить GPU из строя и повышать привилегии при включённой ECC. ECC всё ещё усложняет атаку и её стоит включать, но считать её достаточной защитой больше нельзя». Полноценное аппаратное исправление потребует коррекции многобитовых ошибок и более строгой защиты DRAM, включая Refresh Management и Per-Row Activation Counting. Код атаки намечено открыть 15 ноября 2026 года, в первый день ACM Conference on Computer and Communications Security, где запланирована презентация работы GPUThor.