mm/ksm: fix flag-dropping behavior in ksm_madvise
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 22/100)
- Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
- Вероятность эксплуатации в ближайшие 30 дней: 0,37% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: Linux Linux 41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693, 76385629f45740b7888f8fcd83bde955b10f61fe, 788e5385d0ff69cdba1cabccb9dab8d9647b9239; azl3 kernel 6.6.112.1-2 on Azure Linux 3.0 6.6.117.1-1; cbl2 kernel 5.15.186.1-1 on CBL Mariner 2.0 5.15.200.1-1.
- Критичность спорная: CNA оценивает в 7.8, NVD — в 5.5.
Пока низкий приоритет. Обновитесь до Linux Linux 41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693, 76385629f45740b7888f8fcd83bde955b10f61fe, 788e5385d0ff69cdba1cabccb9dab8d9647b9239; azl3 kernel 6.6.112.1-2 on Azure Linux 3.0 6.6.117.1-1; cbl2 kernel 5.15.186.1-1 on CBL Mariner 2.0 5.15.200.1-1 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: mm/ksm: fix flag-dropping behavior in ksm_madvise syzkaller discovered the following crash: (kernel BUG) [ 44.607039] ------------[ cut here ]------------ [ 44.607422] kernel BUG at mm/userfaultfd.c:2067! [ 44.608148] Oops: invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI [ 44.608814] CPU: 1 UID: 0 PID: 2475 Comm: reproducer Not tainted 6.16.0-rc6 #1 PREEMPT(none) [ 44.609635] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 44.610695] RIP: 0010:userfaultfd_release_all+0x3a8/0x460 <snip other registers, drop unreliable trace> [ 44.617726] Call Trace: [ 44.617926] <TASK> [ 44.619284] userfaultfd_release+0xef/0x1b0 [ 44.620976] __fput+0x3f9/0xb60 [ 44.621240] fput_close_sync+0x110/0x210 [ 44.622222] __x64_sys_close+0x8f/0x120 [ 44.622530] do_syscall_64+0x5b/0x2f0 [ 44.622840] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 44.623244] RIP: 0033:0x7f365bb3f227 Kernel panics because it detects UFFD inconsistency during userfaultfd_release_all(). Specifically, a VMA which has a valid pointer to vma->vm_userfaultfd_ctx, but no UFFD flags in vma->vm_flags. The inconsistency is caused in ksm_madvise(): when user calls madvise() with MADV_UNMEARGEABLE on a VMA that is registered for UFFD in MINOR mode, it accidentally clears all flags stored in the upper 32 bits of vma->vm_flags. Assuming x86_64 kernel build, unsigned long is 64-bit and unsigned int and int are 32-bit wide. This setup causes the following mishap during the &= ~VM_MERGEABLE assignment. VM_MERGEABLE is a 32-bit constant of type unsigned int, 0x8000'0000. After ~ is applied, it becomes 0x7fff'ffff unsigned int, which is then promoted to unsigned long before the & operation. This promotion fills upper 32 bits with leading 0s, as we're doing unsigned conversion (and even for a signed conversion, this wouldn't help as the leading bit is 0). & operation thus ends up AND-ing vm_flags with 0x0000'0000'7fff'ffff instead of intended 0xffff'ffff'7fff'ffff and hence accidentally clears the upper 32-bits of its value. Fix it by changing `VM_MERGEABLE` constant to unsigned long, using the BIT() macro. Note: other VM_* flags are not affected: This only happens to the VM_MERGEABLE flag, as the other VM_* flags are all constants of type int and after ~ operation, they end up with leading 1 and are thus converted to unsigned long with leading 1s. Note 2: After commit 31defc3b01d9 ("userfaultfd: remove (VM_)BUG_ON()s"), this is no longer a kernel BUG, but a WARNING at the same place: [ 45.595973] WARNING: CPU: 1 PID: 2474 at mm/userfaultfd.c:2067 but the root-cause (flag-drop) remains the same. [akpm@linux-foundation.org: rust bindgen wasn't able to handle BIT(), from Miguel]
- BDU:2026-02395
- openSUSE-SU-2025:15702-1
- SUSE-SU-2025:4393-1
- SUSE-SU-2025:4422-1
- SUSE-SU-2025:4505-1
- SUSE-SU-2025:4506-1
- SUSE-SU-2025:4516-1
- SUSE-SU-2025:4517-1
- SUSE-SU-2025:4521-1
- SUSE-SU-2025:4530-1
- SUSE-SU-2026:0029-1
- SUSE-SU-2026:0032-1
- SUSE-SU-2026:0033-1
- SUSE-SU-2026:0034-1
- SUSE-SU-2026:20039-1
- SUSE-SU-2026:20059-1
- SUSE-SU-2026:20473-1
- SUSE-SU-2026:20496-1
- Опубликовано
- 28 окт. 2025 г.
- Обновлено
- 19 окт. 2026 г.
- EPSS
- 0,3 % · 30-й процентиль
- CWE
- —
Инструменты для отчёта
Оценка срочности
22
Наблюдать
Пока низкий приоритет.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,3 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- 5,5
- CNA · Linux
- 7,8
- разница 2,3 балла
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Есть PoC, боевого модуля нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- linux linux kernel4.6 и новее · до 5.4.302
- linux linux kernel5.5 и новее · до 5.10.247
- linux linux kernel5.11 и новее · до 5.15.197
- linux linux kernel5.16 и новее · до 6.1.158
- linux linux kernel6.2 и новее · до 6.6.114
- linux linux kernel6.7 и новее · до 6.12.55
- linux linux kernel6.13 и новее · до 6.17.3
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 4.6затронута
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до 850f1ea245bdc0ce6a3fd36bfb80d8cf9647cb71затронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до 788e5385d0ff69cdba1cabccb9dab8d9647b9239затронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до b69f19244c2b6475c8a6eb72f0fb0d53509e48cdзатронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до 41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693затронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до 92b82e232b8d8b116ac6e57aeae7a6033db92c60затронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до ac50c6e0a8f91a02b681af81abb2362fbb67cc18затронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до 76385629f45740b7888f8fcd83bde955b10f61feзатронута · git
- 63c17fb8e5a46a16e10e82005748837fd11a2024 и новее · до f04aad36a07cc17b7a5d5b9a2d386ce6fae63e93затронута · git
- до 4.6не затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | linux | до 6.1.158-1 | 6.1.158-1 |
| Debian:13 | linux | до 6.12.57-1 | 6.12.57-1 |
| Debian:14 | linux | до 6.17.6-1 | 6.17.6-1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | до 6.4.0-150600.23.81.1 | 6.4.0-150600.23.81.1 |
| openSUSE:Leap 15.6 | kernel-64kb | до 6.4.0-150600.23.81.3 | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-azure | до 6.4.0-150600.8.58.1 | 6.4.0-150600.8.58.1 |
| openSUSE:Leap 15.6 | kernel-debug | до 6.4.0-150600.23.81.3 | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-default | до 6.4.0-150600.23.81.3 | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-default-base | до 6.4.0-150600.23.81.3.150600.12.36.3 | 6.4.0-150600.23.81.3.150600.12.36.3 |
| openSUSE:Leap 15.6 | kernel-docs | до 6.4.0-150600.23.81.1 | 6.4.0-150600.23.81.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | до 6.4.0-150600.23.81.3 | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-obs-build | до 6.4.0-150600.23.81.3 | 6.4.0-150600.23.81.3 |
| openSUSE:Leap 15.6 | kernel-obs-qa | до 6.4.0-150600.23.81.1 | 6.4.0-150600.23.81.1 |
| openSUSE:Leap 15.6 | kernel-rt | до 6.4.0-150600.10.61.1 | 6.4.0-150600.10.61.1 |
| openSUSE:Leap 15.6 | kernel-rt_debug | до 6.4.0-150600.10.61.1 | 6.4.0-150600.10.61.1 |
| openSUSE:Leap 15.6 | kernel-source | до 6.4.0-150600.23.81.2 | 6.4.0-150600.23.81.2 |
| openSUSE:Leap 15.6 | kernel-source-azure | до 6.4.0-150600.8.58.1 | 6.4.0-150600.8.58.1 |
| openSUSE:Leap 15.6 | kernel-source-rt | до 6.4.0-150600.10.61.1 | 6.4.0-150600.10.61.1 |
| openSUSE:Leap 15.6 | kernel-syms | до 6.4.0-150600.23.81.1 | 6.4.0-150600.23.81.1 |
| openSUSE:Leap 15.6 | kernel-syms-azure | до 6.4.0-150600.8.58.1 | 6.4.0-150600.8.58.1 |
| openSUSE:Leap 15.6 | kernel-syms-rt | до 6.4.0-150600.10.61.1 | 6.4.0-150600.10.61.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | до 6.4.0-150600.23.81.3 | 6.4.0-150600.23.81.3 |
| openSUSE:Tumbleweed | kernel-source | до 6.17.7-1.1 | 6.17.7-1.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-64kb | до 5.3.18-150300.59.229.3 | 5.3.18-150300.59.229.3 |
+72
Тот же продукт
linux: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- 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 KEV89Срочно
- CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV85Срочно
- CVE-2016-5195Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by leveraging incorrect haKEV83Срочно
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2025-4000520 окт. 2025 г. · spi: cadence-quadspi: Implement refcount to handle unbind during busy22Наблюдать
- ← РаньшеCVE-2025-4003928 окт. 2025 г. · ksmbd: Fix race condition in RPC handle list access18Наблюдать
- Позже →CVE-2025-4008228 окт. 2025 г. · hfsplus: fix slab-out-of-bounds read in hfsplus_uni2asc()28Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 41cb9fd904fe0c39d52e82dd84dc3c96b7aa9693 | Вендор (CNA) |
| Linux Linux | 76385629f45740b7888f8fcd83bde955b10f61fe | Вендор (CNA) |
| Linux Linux | 788e5385d0ff69cdba1cabccb9dab8d9647b9239 | Вендор (CNA) |
| Linux Linux | 850f1ea245bdc0ce6a3fd36bfb80d8cf9647cb71 | Вендор (CNA) |
| Linux Linux | 92b82e232b8d8b116ac6e57aeae7a6033db92c60 | Вендор (CNA) |
| Linux Linux | ac50c6e0a8f91a02b681af81abb2362fbb67cc18 | Вендор (CNA) |
| Linux Linux | b69f19244c2b6475c8a6eb72f0fb0d53509e48cd | Вендор (CNA) |
| Linux Linux | f04aad36a07cc17b7a5d5b9a2d386ce6fae63e93 | Вендор (CNA) |
| azl3 kernel 6.6.112.1-2 on Azure Linux 3.0 | 6.6.117.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| cbl2 kernel 5.15.186.1-1 on CBL Mariner 2.0 | 5.15.200.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.158-1 · Debian:12 | Реестр пакетов (OSV) |
| opensuse:dtb-aarch64 | 6.4.0-150600.23.81.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-64kb | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-debug | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-default | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-default-base | 6.4.0-150600.23.81.3.150600.12.36.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-docs | 6.4.0-150600.23.81.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-kvmsmall | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-obs-build | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-obs-qa | 6.4.0-150600.23.81.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-source | 6.4.0-150600.23.81.2 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-syms | 6.4.0-150600.23.81.1 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| opensuse:kernel-zfcpdump | 6.4.0-150600.23.81.3 · openSUSE:Leap 15.6 | Реестр пакетов (OSV) |
| suse:kernel-64kb | 6.4.0-150600.23.81.3 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Реестр пакетов (OSV) |
| suse:kernel-64kb | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Реестр пакетов (OSV) |
| suse:kernel-azure | 6.4.0-150600.8.58.1 · SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | Реестр пакетов (OSV) |
| suse:kernel-default | 6.4.0-150600.23.81.3 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Реестр пакетов (OSV) |
| suse:kernel-default | 6.4.0-150700.53.25.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Реестр пакетов (OSV) |
| suse:kernel-default-base | 6.4.0-150600.23.81.3.150600.12.36.3 · SUSE:Linux Enterprise Module for Basesystem 15 SP6 | Реестр пакетов (OSV) |
| suse:kernel-default-base | 6.4.0-150700.53.25.1.150700.17.17.1 · SUSE:Linux Enterprise Module for Basesystem 15 SP7 | Реестр пакетов (OSV) |
+13
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Репозиторий PoC на GitHub ×1
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Репозиторий PoC на GitHub | stars:12 | 2025-12-01 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+33 дн.
- Сегодня23 окт. 2026 г.+360 дн.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
—
Вектор CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Журнал изменений
- Эксплуатация SSVC— → none
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 7)Свернуть
- git.kernel.org/stable/c/76385629f45740b7888f8fcd83bde955b10f61fe
- git.kernel.org/stable/c/788e5385d0ff69cdba1cabccb9dab8d9647b9239
- git.kernel.org/stable/c/850f1ea245bdc0ce6a3fd36bfb80d8cf9647cb71
- git.kernel.org/stable/c/92b82e232b8d8b116ac6e57aeae7a6033db92c60
- git.kernel.org/stable/c/ac50c6e0a8f91a02b681af81abb2362fbb67cc18
- git.kernel.org/stable/c/b69f19244c2b6475c8a6eb72f0fb0d53509e48cd
- git.kernel.org/stable/c/f04aad36a07cc17b7a5d5b9a2d386ce6fae63e93
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.