Перейти к содержимому
Noroxi
NVD / CVE Program· CNA Linux

CVE-2024-26960: mm: swap: fix race between free_swap_and_cache() and swapoff()

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 28/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,18% (FIRST EPSS).
  • Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Требуются особые условия, например определённое время или конфигурация.
  • Исправленная версия: Linux Linux 0f98f6d2fb5fad00f8299b84b85b6bc1b6d7d19a, 1ede7f1d7eed1738d1b9333fd1e152ccb450b86a, 2da5568ee222ce0541bfe446a07998f92ed1643e.
  • Упоминается в национальных бюллетенях кибербезопасности Турции (siberguvenlik.gov.tr): 2.

Пока низкий приоритет. Обновитесь до Linux Linux 0f98f6d2fb5fad00f8299b84b85b6bc1b6d7d19a, 1ede7f1d7eed1738d1b9333fd1e152ccb450b86a, 2da5568ee222ce0541bfe446a07998f92ed1643e или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

In the Linux kernel, the following vulnerability has been resolved: mm: swap: fix race between free_swap_and_cache() and swapoff() There was previously a theoretical window where swapoff() could run and teardown a swap_info_struct while a call to free_swap_and_cache() was running in another thread. This could cause, amongst other bad possibilities, swap_page_trans_huge_swapped() (called by free_swap_and_cache()) to access the freed memory for swap_map. This is a theoretical problem and I haven't been able to provoke it from a test case. But there has been agreement based on code review that this is possible (see link below). Fix it by using get_swap_device()/put_swap_device(), which will stall swapoff(). There was an extra check in _swap_info_get() to confirm that the swap entry was not free. This isn't present in get_swap_device() because it doesn't make sense in general due to the race between getting the reference and swapoff. So I've added an equivalent check directly in free_swap_and_cache(). Details of how to provoke one possible issue (thanks to David Hildenbrand for deriving this): --8<----- __swap_entry_free() might be the last user and result in "count == SWAP_HAS_CACHE". swapoff->try_to_unuse() will stop as soon as soon as si->inuse_pages==0. So the question is: could someone reclaim the folio and turn si->inuse_pages==0, before we completed swap_page_trans_huge_swapped(). Imagine the following: 2 MiB folio in the swapcache. Only 2 subpages are still references by swap entries. Process 1 still references subpage 0 via swap entry. Process 2 still references subpage 1 via swap entry. Process 1 quits. Calls free_swap_and_cache(). -> count == SWAP_HAS_CACHE [then, preempted in the hypervisor etc.] Process 2 quits. Calls free_swap_and_cache(). -> count == SWAP_HAS_CACHE Process 2 goes ahead, passes swap_page_trans_huge_swapped(), and calls __try_to_reclaim_swap(). __try_to_reclaim_swap()->folio_free_swap()->delete_from_swap_cache()-> put_swap_folio()->free_swap_slot()->swapcache_free_entries()-> swap_entry_free()->swap_range_free()-> ... WRITE_ONCE(si->inuse_pages, si->inuse_pages - nr_entries); What stops swapoff to succeed after process 2 reclaimed the swap cache but before process1 finished its call to swap_page_trans_huge_swapped()? --8<-----

ВысокаяCVSS 7.0 · v3.1—Эксплойта нет Есть исправление
Опубликовано
1 мая 2024 г.
Обновлено
15 окт. 2026 г.
EPSS
0,1 % · 7-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

28

Наблюдать

Пока низкий приоритет.

CVSS
28 / 40 · 7.0 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,1 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
—
CNA · Linux
7,0
NVD ещё не выставил свою оценку; показана оценка CNA.

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2024-26960

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
linuxlinux kernel
debiandebian linux

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • debian debian linux10.0
  • linux linux kernel5.11 и новее · до 5.15.154
  • linux linux kernel5.16 и новее · до 6.1.84
  • linux linux kernel4.11 и новее · до 5.10.215
  • linux linux kernel6.7 и новее · до 6.7.12
  • linux linux kernel6.8 и новее · до 6.8.3
  • linux linux kernel6.2 и новее · до 6.6.24

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Linux Linux

    • 4.11затронута
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до d85c11c97ecf92d47a4b29e3faca714dc1f18d0dзатронута · git
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до 2da5568ee222ce0541bfe446a07998f92ed1643eзатронута · git
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до 1ede7f1d7eed1738d1b9333fd1e152ccb450b86aзатронута · git
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до 0f98f6d2fb5fad00f8299b84b85b6bc1b6d7d19aзатронута · git
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до 3ce4c4c653e4e478ecb15d3c88e690f12cbf6b39затронута · git
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до 363d17e7f7907c8e27a9e86968af0eaa2301787bзатронута · git
    • 7c00bafee87c7bac7ed9eced7c161f8e5332cb4e и новее · до 82b1c07a0af603e3c47b906c8e991dc96f01688eзатронута · git
    • до 4.11не затронута · semver
    • 5.10.215 и новее · до 5.10.* включительноне затронута · semver

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12linuxдо 6.1.85-16.1.85-1
Debian:13linuxдо 6.7.12-16.7.12-1
Red Hat:rhel_eus:9.4::appstreambpftool-debuginfoдо 0:7.3.0-427.55.1.el9_40:7.3.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-64k-debug-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-64k-debug-develдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-64k-debug-devel-matchedдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-64k-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-64k-develдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-64k-devel-matchedдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debug-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debug-develдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debug-devel-matchedдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debuginfo-common-aarch64до 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debuginfo-common-ppc64leдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debuginfo-common-s390xдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-debuginfo-common-x86_64до 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-develдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-devel-matchedдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-docдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-rt-debug-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-rt-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-tools-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4
Red Hat:rhel_eus:9.4::appstreamkernel-zfcpdump-debuginfoдо 0:5.14.0-427.55.1.el9_40:5.14.0-427.55.1.el9_4

+56

Тот же продукт

linux: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV
    90Срочно
  • CVE-2022-0847A flaw was found in the way the "flags" member of the new pipe buffer structure was lacking proper initialization in copy_page_to_iter_pipe KEV
    89Срочно
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Срочно

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2024-269571 мая 2024 г. · s390/zcrypt: fix reference counting on zcrypt card objects
    31Наблюдать
  • ← РаньшеCVE-2024-269581 мая 2024 г. · nfs: fix UAF in direct writes
    31Наблюдать
  • Позже →CVE-2024-269611 мая 2024 г. · mac802154: fix llsec key resources release in mac802154_llsec_key_del
    31Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Linux Linux0f98f6d2fb5fad00f8299b84b85b6bc1b6d7d19aВендор (CNA)
Linux Linux1ede7f1d7eed1738d1b9333fd1e152ccb450b86aВендор (CNA)
Linux Linux2da5568ee222ce0541bfe446a07998f92ed1643eВендор (CNA)
Linux Linux363d17e7f7907c8e27a9e86968af0eaa2301787bВендор (CNA)
Linux Linux3ce4c4c653e4e478ecb15d3c88e690f12cbf6b39Вендор (CNA)
Linux Linux82b1c07a0af603e3c47b906c8e991dc96f01688eВендор (CNA)
Linux Linuxd85c11c97ecf92d47a4b29e3faca714dc1f18d0dВендор (CNA)
debian:linux6.1.85-1 · Debian:12Реестр пакетов (OSV)
red hat:bpftool-debuginfo0:7.3.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-debug-debuginfo0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-debug-devel0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-debug-devel-matched0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-debuginfo0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-devel0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-devel-matched0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-debug-debuginfo0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-debug-devel0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-debug-devel-matched0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-debuginfo0:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)
red hat:kernel-debuginfo-common-aarch640:5.14.0-427.55.1.el9_4 · Red Hat:rhel_eus:9.4::appstreamРеестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

Истории пока нет (накапливается ежедневным заданием EPSS).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Национальное уведомление (Управление кибербезопасности Турции / USOM)

Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.

Все национальные уведомления →

Технические детали

Условия атаки

  • Может быть вызвана пользователем с локальным доступом к системе.
  • Достаточно учётной записи с низкими привилегиями.
  • Действия пользователя не требуются.
  • Требуются особые условия, например определённое время или конфигурация.

В случае успеха

Конфиденциальность
высокое · данные могут быть прочитаны
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Локальный
Сложность атаки
Высокая
Требуемые привилегии
Низкие
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Высокое
Влияние на целостность
Высокое
Влияние на доступность
Высокое

Вектор CVSS

CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

nvd-secondary

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи