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

CVE-2024-49884: ext4: fix slab-use-after-free in ext4_split_extent_at()

Оценка Noroxi

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

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,27% (FIRST EPSS).
  • Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: Linux Linux 393a46f60ea4f249dc9d496d4eb2d542f5e11ade, 448100a29395b0c8b4c42967155849fe0fbe808f, 5d949ea75bb529ea6342e83465938a3b0ac51238; azl3 kernel 6.6.51.1-5 on Azure Linux 3.0 6.6.57.1-2; azl3 kernel 6.6.57.1-2 on Azure Linux 3.0 6.6.57.1-2.

Пока низкий приоритет. Обновитесь до Linux Linux 393a46f60ea4f249dc9d496d4eb2d542f5e11ade, 448100a29395b0c8b4c42967155849fe0fbe808f, 5d949ea75bb529ea6342e83465938a3b0ac51238; azl3 kernel 6.6.51.1-5 on Azure Linux 3.0 6.6.57.1-2; azl3 kernel 6.6.57.1-2 on Azure Linux 3.0 6.6.57.1-2 или новее.

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

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

In the Linux kernel, the following vulnerability has been resolved: ext4: fix slab-use-after-free in ext4_split_extent_at() We hit the following use-after-free: ================================================================== BUG: KASAN: slab-use-after-free in ext4_split_extent_at+0xba8/0xcc0 Read of size 2 at addr ffff88810548ed08 by task kworker/u20:0/40 CPU: 0 PID: 40 Comm: kworker/u20:0 Not tainted 6.9.0-dirty #724 Call Trace: <TASK> kasan_report+0x93/0xc0 ext4_split_extent_at+0xba8/0xcc0 ext4_split_extent.isra.0+0x18f/0x500 ext4_split_convert_extents+0x275/0x750 ext4_ext_handle_unwritten_extents+0x73e/0x1580 ext4_ext_map_blocks+0xe20/0x2dc0 ext4_map_blocks+0x724/0x1700 ext4_do_writepages+0x12d6/0x2a70 [...] Allocated by task 40: __kmalloc_noprof+0x1ac/0x480 ext4_find_extent+0xf3b/0x1e70 ext4_ext_map_blocks+0x188/0x2dc0 ext4_map_blocks+0x724/0x1700 ext4_do_writepages+0x12d6/0x2a70 [...] Freed by task 40: kfree+0xf1/0x2b0 ext4_find_extent+0xa71/0x1e70 ext4_ext_insert_extent+0xa22/0x3260 ext4_split_extent_at+0x3ef/0xcc0 ext4_split_extent.isra.0+0x18f/0x500 ext4_split_convert_extents+0x275/0x750 ext4_ext_handle_unwritten_extents+0x73e/0x1580 ext4_ext_map_blocks+0xe20/0x2dc0 ext4_map_blocks+0x724/0x1700 ext4_do_writepages+0x12d6/0x2a70 [...] ================================================================== The flow of issue triggering is as follows: ext4_split_extent_at path = *ppath ext4_ext_insert_extent(ppath) ext4_ext_create_new_leaf(ppath) ext4_find_extent(orig_path) path = *orig_path read_extent_tree_block // return -ENOMEM or -EIO ext4_free_ext_path(path) kfree(path) *orig_path = NULL a. If err is -ENOMEM: ext4_ext_dirty(path + path->p_depth) // path use-after-free !!! b. If err is -EIO and we have EXT_DEBUG defined: ext4_ext_show_leaf(path) eh = path[depth].p_hdr // path also use-after-free !!! So when trying to zeroout or fix the extent length, call ext4_find_extent() to update the path. In addition we use *ppath directly as an ext4_ext_show_leaf() input to avoid possible use-after-free when EXT_DEBUG is defined, and to avoid unnecessary path updates.

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

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

JSON

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

31

Наблюдать

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

CVSS
31 / 40 · 7.8 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,2 %

Решение CISA SSVC

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

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

Оценка CNA и NVD

NVD
7,8
CNA · Linux
7,8
совпадают

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

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

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

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

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

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

  • когда запись попадёт в 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 linux11.0
  • linux linux kernel3.18 и новее · до 4.19.323
  • linux linux kernel4.20 и новее · до 5.4.290
  • linux linux kernel5.5 и новее · до 5.10.227
  • linux linux kernel5.11 и новее · до 5.15.168
  • linux linux kernel5.16 и новее · до 6.1.113
  • linux linux kernel6.2 и новее · до 6.6.55
  • linux linux kernel6.7 и новее · до 6.10.14
  • linux linux kernel6.11 и новее · до 6.11.3

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

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

  • Linux Linux

    • 3.18затронута
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до 393a46f60ea4f249dc9d496d4eb2d542f5e11adeзатронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до 448100a29395b0c8b4c42967155849fe0fbe808fзатронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до e52f933598b781d291b9297e39c463536da0e185затронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до cafcc1bd62934547c76abf46c6d0d54f135006feзатронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до a5401d4c3e2a3d25643c567d26e6de327774a2c9затронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до 8fe117790b37c84c651e2bad9efc0e7fda73c0e3затронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до 5d949ea75bb529ea6342e83465938a3b0ac51238затронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до 915ac3630488af0ca194dc63b86d99802b4f6e18затронута · git
    • dfe5080939ea4686b3414b5d970a9b26733c57a4 и новее · до c26ab35702f8cd0cdc78f96aa5856bfb77be798fзатронута · git

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12linuxдо 6.1.115-16.1.115-1
Debian:13linuxдо 6.11.4-16.11.4-1
openSUSE:Leap 15.6dtb-aarch64до 6.4.0-150600.23.42.16.4.0-150600.23.42.1
openSUSE:Leap 15.6dtb-aarch64до 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-64kbдо 6.4.0-150600.23.42.26.4.0-150600.23.42.2
openSUSE:Leap 15.6kernel-64kbдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-azureдо 6.4.0-150600.8.31.16.4.0-150600.8.31.1
openSUSE:Leap 15.6kernel-azureдо 6.4.0-150600.8.23.16.4.0-150600.8.23.1
openSUSE:Leap 15.6kernel-debugдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-debugдо 6.4.0-150600.23.42.26.4.0-150600.23.42.2
openSUSE:Leap 15.6kernel-defaultдо 6.4.0-150600.23.42.26.4.0-150600.23.42.2
openSUSE:Leap 15.6kernel-defaultдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-default-baseдо 6.4.0-150600.23.33.1.150600.12.14.16.4.0-150600.23.33.1.150600.12.14.1
openSUSE:Leap 15.6kernel-default-baseдо 6.4.0-150600.23.42.2.150600.12.18.46.4.0-150600.23.42.2.150600.12.18.4
openSUSE:Leap 15.6kernel-docsдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-docsдо 6.4.0-150600.23.42.16.4.0-150600.23.42.1
openSUSE:Leap 15.6kernel-kvmsmallдо 6.4.0-150600.23.42.26.4.0-150600.23.42.2
openSUSE:Leap 15.6kernel-kvmsmallдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-obs-buildдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-obs-buildдо 6.4.0-150600.23.42.26.4.0-150600.23.42.2
openSUSE:Leap 15.6kernel-obs-qaдо 6.4.0-150600.23.42.16.4.0-150600.23.42.1
openSUSE:Leap 15.6kernel-obs-qaдо 6.4.0-150600.23.33.16.4.0-150600.23.33.1
openSUSE:Leap 15.6kernel-rtдо 6.4.0-150600.10.23.16.4.0-150600.10.23.1
openSUSE:Leap 15.6kernel-rtдо 6.4.0-150600.10.29.16.4.0-150600.10.29.1

+54

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

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-5006521 окт. 2024 г. · ntfs3: Change to non-blocking allocation in ntfs_d_hash
    22Наблюдать
  • ← РаньшеCVE-2024-4988121 окт. 2024 г. · ext4: update orig_path in ext4_find_extent()
    22Наблюдать
  • Позже →CVE-2024-4988521 окт. 2024 г. · mm, slub: avoid zeroing kmalloc redzone
    22Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
Linux Linux393a46f60ea4f249dc9d496d4eb2d542f5e11adeВендор (CNA)
Linux Linux448100a29395b0c8b4c42967155849fe0fbe808fВендор (CNA)
Linux Linux5d949ea75bb529ea6342e83465938a3b0ac51238Вендор (CNA)
Linux Linux8fe117790b37c84c651e2bad9efc0e7fda73c0e3Вендор (CNA)
Linux Linux915ac3630488af0ca194dc63b86d99802b4f6e18Вендор (CNA)
Linux Linuxa5401d4c3e2a3d25643c567d26e6de327774a2c9Вендор (CNA)
Linux Linuxc26ab35702f8cd0cdc78f96aa5856bfb77be798fВендор (CNA)
Linux Linuxcafcc1bd62934547c76abf46c6d0d54f135006feВендор (CNA)
Linux Linuxe52f933598b781d291b9297e39c463536da0e185Вендор (CNA)
azl3 kernel 6.6.51.1-5 on Azure Linux 3.06.6.57.1-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
azl3 kernel 6.6.57.1-2 on Azure Linux 3.06.6.57.1-2 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 kernel 5.15.167.1-2 on CBL Mariner 2.05.15.173.1-1 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 kernel 5.15.167.1-2 on CBL-Mariner 2.05.15.173.1-1 · CBL-Mariner ReleasesMicrosoft (MSRC)
cbl2 kernel 5.15.173.1-1 on CBL Mariner 2.05.15.173.1-1 · CBL-Mariner ReleasesMicrosoft (MSRC)
debian:linux6.1.115-1 · Debian:12Реестр пакетов (OSV)
opensuse:dtb-aarch646.4.0-150600.23.33.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-64kb6.4.0-150600.23.33.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-azure6.4.0-150600.8.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-debug6.4.0-150600.23.33.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-default6.4.0-150600.23.33.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-default-base6.4.0-150600.23.33.1.150600.12.14.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-rt6.4.0-150600.10.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-rt_debug6.4.0-150600.10.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-source-azure6.4.0-150600.8.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-source-rt6.4.0-150600.10.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-syms-azure6.4.0-150600.8.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
opensuse:kernel-syms-rt6.4.0-150600.10.23.1 · openSUSE:Leap 15.6Реестр пакетов (OSV)
suse:kernel-64kb6.4.0-150600.23.33.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP6Реестр пакетов (OSV)
suse:kernel-azure6.4.0-150600.8.23.1 · SUSE:Linux Enterprise Module for Public Cloud 15 SP6Реестр пакетов (OSV)
suse:kernel-default6.4.0-150600.23.33.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP6Реестр пакетов (OSV)

+9

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

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

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

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

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват 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).

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

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

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

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

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

Класс уязвимости (CWE)

CWE-416 · Use After Free

Вектор CVSS

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

nvd-primary

Первопричина

После освобождения области памяти продолжает использоваться другая ссылка на неё. К этому моменту та же область может быть выделена под другие данные.

Ошибка в коде

Весь класс CWE-416

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

c
free(dev->buf);/* ... другой поток всё ещё работает ... */process(dev->buf);

Исправленный код

c
lock(&dev->lock);free(dev->buf);dev->buf = NULL;unlock(&dev->lock);

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

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

У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.

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

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

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

Источники

Все записи