Мониторинг Карточка CVE
Открытые данные
К списку уязвимостей
Высокий
Опубликована

CVE-2026-98166

drm/ttm: fix swapped-out resources never leaving their bulk_move range

Публикация: 06.10.2026·Обновлена: 26.10.2026, 21:33·Europe/Moscow

Что произошло

Перевод ещё не доступен · оригинальное описание

In the Linux kernel, the following vulnerability has been resolved: drm/ttm: fix swapped-out resources never leaving their bulk_move range ttm_tt_swapout() returns the number of pages swapped out on success and a negative error code on failure; for a populated ttm it never returns zero. Commit b2ed01e7ad3d ("drm/ttm: Fix ttm_bo_swapout() infinite LRU walk on swapout failure") moved the bulk_move bookkeeping in ttm_bo_swapout_cb() under "if (!ret)", so the ttm_resource_del_bulk_move_unevictable() / ttm_resource_move_to_lru_tail() pair is now skipped on every successful swapout. The equivalent change for the shrinker in commit 1d59f36e95f7 ("drm/ttm: Fix ttm_bo_shrink() infinite LRU walk on backup failure") tests "lret > 0", which is what was intended here as well. Before b2ed01e7ad3d the resource was taken off the bulk_move before the swapout; since then a swapped-out resource stays inside its BO's bulk_move range (and on the manager LRU) although it is unevictable. When it is later freed or the BO leaves the bulk_move (ttm_resource_free(), ttm_bo_set_bulk_move() via amdgpu_vm_bo_del()), ttm_resource_del_bulk_move() skips it because of its !ttm_resource_unevictable() guard, so a range endpoint in pos->first / pos->last is left pointing at freed memory. The next ttm_lru_bulk_move_tail() or ttm_resource_add_bulk_move() on that cursor is a use-after-free, seen as the resv WARN in ttm_lru_bulk_move_add(), "list_del corruption" in ttm_resource_move_to_lru_tail() or a NULL dereference in ttm_resource_manager_next() -- minutes to hours after a hibernation, or at process exit / reboot following one. Samuel Ainsworth's analysis of drm/amd issue 5387 (see Link) identified the dangling cursor; the missing removal at swapout time is the reason it dangles. Testing the condition for success restores the removal. On an AMD Phoenix APU (ASUS UM3406GA, gfx1103) running suspend-then-hibernate on a 7.0.y stable kernel carrying the backport (Ubuntu 7.0.0-31) the bug crashed 5 of 18 hibernation cycles; a function profile of one hibernation showed 336 ttm_tt_swapout() calls and zero ttm_resource_del_bulk_move_unevictable() calls. With this change the removal happens for every swapped-out resource and 12 further cycles were clean.

Что это значит

В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.

Что делать

Сформировано автоматически из полей источников и общих шаблонов
Устранить в течение 7 дней

1. Проверьте, затронуты ли вы

Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.

Debian / Ubuntu
dpkg-query -W -f='${Package}	${Version}\n'
RHEL / AlmaLinux
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'
Windows PowerShell
Get-HotFix | Select-Object HotFixID, InstalledOn
Общая рекомендация, не из бюллетеня вендора

2. Установите исправление

Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.

Общая рекомендация, не из бюллетеня вендора

3. Временные меры

До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.

Общая рекомендация, не из бюллетеня вендора

4. Проверьте следы эксплуатации

Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.

Общая рекомендация, не из бюллетеня вендора

5. После исправления

  • Проверьте фактическую версию и результат установки по бюллетеню.
  • При необходимости перезапустите сервисы в согласованное окно.
  • Повторите проверку сканером и функциональные проверки.
  • Зафиксируйте результат, дату, владельца и оставшийся риск.

Продукты и затронутые версии

Linux / Linux

{
  "status": "affected",
  "version": "060f8f3020516d71bc4d6159d4d0beef85606a74",
  "lessThan": "b48ebe399b4e72baa323462580fdd83ebda561e1",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b2ed01e7ad3de80333e9b962a44024b094bc0b2b",
  "lessThan": "1169fe8c11ca45e3f91d59a73eb271d0ca8a7fb0",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "b2ed01e7ad3de80333e9b962a44024b094bc0b2b",
  "lessThan": "3db7d7d583419f7b1f2e141e36418802dbb25cf8",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "0124a09e3e5f5f6080efe9663b27af27933f8382",
  "versionType": "git"
}
{
  "status": "affected",
  "version": "6.18.57",
  "lessThan": "6.18.59",
  "versionType": "semver"
}
{
  "status": "affected",
  "version": "7.0.10",
  "lessThan": "7.1",
  "versionType": "semver"
}

Linux / Linux

{
  "status": "affected",
  "version": "7.1"
}
{
  "status": "unaffected",
  "version": "0",
  "lessThan": "7.1",
  "versionType": "semver"
}
{
  "status": "unaffected",
  "version": "6.18.59",
  "versionType": "semver",
  "lessThanOrEqual": "6.18.*"
}
{
  "status": "unaffected",
  "version": "7.2.8",
  "versionType": "semver",
  "lessThanOrEqual": "7.2.*"
}
{
  "status": "unaffected",
  "version": "7.3",
  "versionType": "original_commit_for_fix",
  "lessThanOrEqual": "*"
}

CVSS: оценки и векторы

CVSS 3.1 · cve7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое
CVSS 3.1 · 416baaa9-dc9f-4396-8d5f-8c081fb06d677.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое
CVSS 3.1 · ghsa7.8
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV · Вектор атакилокальный доступ
AC · Сложность атакинизкая
PR · Привилегиинизкие
UI · Участие пользователяне нужно
S · Область воздействияне меняется
C · Конфиденциальностьвысокое
I · Целостностьвысокое
A · Доступностьвысокое

Источники и ссылки

Происхождение полей
{
  "cwes": [],
  "epss": {
    "source": "epss",
    "received_at": "2026-11-01T21:13:18.965958+00:00"
  },
  "title": {
    "source": "cve",
    "received_at": "2026-10-28T20:13:06.350639+00:00"
  },
  "scores": [
    "cve",
    "ghsa",
    "nvd"
  ],
  "status": {
    "source": "cve",
    "received_at": "2026-10-28T20:13:06.350639+00:00"
  },
  "affected": [
    "cve"
  ],
  "published": {
    "source": "cve",
    "received_at": "2026-10-28T20:13:06.350639+00:00"
  },
  "solutions": [],
  "percentile": {
    "source": "epss",
    "received_at": "2026-11-01T21:13:18.965958+00:00"
  },
  "references": [
    "cve",
    "ghsa",
    "nvd"
  ],
  "description": {
    "source": "cve",
    "received_at": "2026-10-28T20:13:06.350639+00:00"
  },
  "workarounds": [],
  "configurations": []
}

Хронология записи

  1. Данные обновлены02.11.2026, 00:13
  2. Данные обновлены31.10.2026, 12:00
  3. Данные обновлены28.10.2026, 23:13
  4. Данные обновлены28.10.2026, 18:07
  5. Данные обновлены28.10.2026, 17:59
  6. Опубликована28.10.2026, 15:15

Личная заметка и статус

Другие CVE того же продукта

УЯЗВИМОСТЬ / ПРОДУКТПРИОРИТЕТCVSSEPSSСИГНАЛЫОПУБЛИКОВАНАКарточка
CVE-2026-99178
x86/kvm: Don't consume async #PF flags on a kernel #PF in NMI context
Linux / Linux
Информационный—
0,17 %
28.10.2026
CVE-2026-99101
ntfs: move attribute payload before shrinking its record
Linux / Linux
Информационный—
0,16 %
28.10.2026
CVE-2026-99100
wifi: p54: validate firmware record lengths
Linux / Linux
Информационный—
0,17 %
28.10.2026
CVE-2026-98432
ipv4: free inet_opt and ireq_opt after an RCU grace period
Linux / Linux
Критический9.8
0,46 %
15.10.2026
CVE-2026-99180
unicode: free the map after a grace period
Linux / Linux
Высокий7.8
0,13 %
28.10.2026
CVE-2026-98166: drm/ttm: fix swapped-out resources never leaving their bulk_move range · CVE Радар