CVE-2025-40230: mm: prevent poison consumption when splitting THP
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 0/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,21% (FIRST EPSS).
- Исправленная версия: Linux Linux 6fc0a7c99e973a50018c8b4be34914a1b5c7b383, 841a8bfcbad94bb1ba60f59ce34f75259074ae0d, 92acf4b04f255d2f0f6770bb0d0a208d8ffb2b77.
Пока низкий приоритет. Обновитесь до Linux Linux 6fc0a7c99e973a50018c8b4be34914a1b5c7b383, 841a8bfcbad94bb1ba60f59ce34f75259074ae0d, 92acf4b04f255d2f0f6770bb0d0a208d8ffb2b77 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: mm: prevent poison consumption when splitting THP When performing memory error injection on a THP (Transparent Huge Page) mapped to userspace on an x86 server, the kernel panics with the following trace. The expected behavior is to terminate the affected process instead of panicking the kernel, as the x86 Machine Check code can recover from an in-userspace #MC. mce: [Hardware Error]: CPU 0: Machine Check Exception: f Bank 3: bd80000000070134 mce: [Hardware Error]: RIP 10:<ffffffff8372f8bc> {memchr_inv+0x4c/0xf0} mce: [Hardware Error]: TSC afff7bbff88a ADDR 1d301b000 MISC 80 PPIN 1e741e77539027db mce: [Hardware Error]: PROCESSOR 0:d06d0 TIME 1758093249 SOCKET 0 APIC 0 microcode 80000320 mce: [Hardware Error]: Run the above through 'mcelog --ascii' mce: [Hardware Error]: Machine check: Data load in unrecoverable area of kernel Kernel panic - not syncing: Fatal local machine check The root cause of this panic is that handling a memory failure triggered by an in-userspace #MC necessitates splitting the THP. The splitting process employs a mechanism, implemented in try_to_map_unused_to_zeropage(), which reads the pages in the THP to identify zero-filled pages. However, reading the pages in the THP results in a second in-kernel #MC, occurring before the initial memory_failure() completes, ultimately leading to a kernel panic. See the kernel panic call trace on the two #MCs. First Machine Check occurs // [1] memory_failure() // [2] try_to_split_thp_page() split_huge_page() split_huge_page_to_list_to_order() __folio_split() // [3] remap_page() remove_migration_ptes() remove_migration_pte() try_to_map_unused_to_zeropage() // [4] memchr_inv() // [5] Second Machine Check occurs // [6] Kernel panic [1] Triggered by accessing a hardware-poisoned THP in userspace, which is typically recoverable by terminating the affected process. [2] Call folio_set_has_hwpoisoned() before try_to_split_thp_page(). [3] Pass the RMP_USE_SHARED_ZEROPAGE remap flag to remap_page(). [4] Try to map the unused THP to zeropage. [5] Re-access pages in the hw-poisoned THP in the kernel. [6] Triggered in-kernel, leading to a panic kernel. In Step[2], memory_failure() sets the poisoned flag on the page in the THP by TestSetPageHWPoison() before calling try_to_split_thp_page(). As suggested by David Hildenbrand, fix this panic by not accessing to the poisoned page in the THP during zeropage identification, while continuing to scan unaffected pages in the THP for possible zeropage mapping. This prevents a second in-kernel #MC that would cause kernel panic in Step[4]. Thanks to Andrew Zaborowski for his initial work on fixing this issue.
- Опубликовано
- 4 дек. 2025 г.
- Обновлено
- 19 окт. 2026 г.
- EPSS
- 0,2 % · 11-й процентиль
- CWE
- —
Инструменты для отчёта
Оценка срочности
0
Наблюдать
Пока низкий приоритет.
- CVSS
- 0 / 40 · —
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,2 %
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 6.12затронута
- b1f202060afeb7fcb98473929d26fd3d2093b067 и новее · до 6fc0a7c99e973a50018c8b4be34914a1b5c7b383затронута · git
- b1f202060afeb7fcb98473929d26fd3d2093b067 и новее · до 92acf4b04f255d2f0f6770bb0d0a208d8ffb2b77затронута · git
- b1f202060afeb7fcb98473929d26fd3d2093b067 и новее · до 841a8bfcbad94bb1ba60f59ce34f75259074ae0dзатронута · git
- до 6.12не затронута · semver
- 6.12.56 и новее · до 6.12.* включительноне затронута · semver
- 6.17.6 и новее · до 6.17.* включительноне затронута · semver
- 6.18 и новеене затронута · original_commit_for_fix
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:13 | linux | до 6.12.57-1 | 6.12.57-1 |
| Debian:14 | linux | до 6.17.6-1 | 6.17.6-1 |
| openSUSE:Leap 16.0 | dtb-aarch64 | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-64kb | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-azure | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-default-base | до 6.12.0-160000.27.1.160000.2.8 | 6.12.0-160000.27.1.160000.2.8 |
| openSUSE:Leap 16.0 | kernel-docs | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-rt | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-source | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-syms | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Enterprise Server 16.0 | kernel-azure | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Enterprise Server 16.0 | kernel-docs | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Enterprise Server 16.0 | kernel-kvmsmall | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Enterprise Server 16.0 | kernel-obs-qa | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Enterprise Server 16.0 | kernel-zfcpdump | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Micro 6.2 | kernel-64kb | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Micro 6.2 | kernel-default | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
| SUSE:Linux Micro 6.2 | kernel-default-base | до 6.12.0-160000.27.1.160000.2.8 | 6.12.0-160000.27.1.160000.2.8 |
| SUSE:Linux Micro 6.2 | kernel-rt | до 6.12.0-160000.27.1 | 6.12.0-160000.27.1 |
+3
Тот же продукт
linux: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40В плане
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40В плане
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40В плане
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2025-402284 дек. 2025 г. · mm/damon/sysfs: catch commit test ctx alloc failure0Наблюдать
- ← РаньшеCVE-2025-402294 дек. 2025 г. · mm/damon/core: fix potential memory leak by cleaning ops_filter in damon_destroy_scheme0Наблюдать
- Позже →CVE-2025-402314 дек. 2025 г. · vsock: fix lock inversion in vsock_assign_transport()0Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 6fc0a7c99e973a50018c8b4be34914a1b5c7b383 | Вендор (CNA) |
| Linux Linux | 841a8bfcbad94bb1ba60f59ce34f75259074ae0d | Вендор (CNA) |
| Linux Linux | 92acf4b04f255d2f0f6770bb0d0a208d8ffb2b77 | Вендор (CNA) |
| debian:linux | 6.12.57-1 · Debian:13 | Реестр пакетов (OSV) |
| opensuse:dtb-aarch64 | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-64kb | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-azure | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-default | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-default-base | 6.12.0-160000.27.1.160000.2.8 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-docs | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-kvmsmall | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-obs-build | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-obs-qa | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-rt | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-source | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:kernel-syms | 6.12.0-160000.27.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| suse:kernel-64kb | 6.12.0-160000.27.1 · SUSE:Linux Micro 6.2 | Реестр пакетов (OSV) |
| suse:kernel-azure | 6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0 | Реестр пакетов (OSV) |
| suse:kernel-default | 6.12.0-160000.27.1 · SUSE:Linux Micro 6.2 | Реестр пакетов (OSV) |
| suse:kernel-default-base | 6.12.0-160000.27.1.160000.2.8 · SUSE:Linux Micro 6.2 | Реестр пакетов (OSV) |
| suse:kernel-docs | 6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0 | Реестр пакетов (OSV) |
| suse:kernel-kvmsmall | 6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0 | Реестр пакетов (OSV) |
| suse:kernel-obs-build | 6.12.0-160000.27.1 · SUSE:Linux Micro Extras 6.2 | Реестр пакетов (OSV) |
| suse:kernel-obs-qa | 6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0 | Реестр пакетов (OSV) |
| suse:kernel-rt | 6.12.0-160000.27.1 · SUSE:Linux Micro 6.2 | Реестр пакетов (OSV) |
| suse:kernel-source | 6.12.0-160000.27.1 · SUSE:Linux Micro 6.2 | Реестр пакетов (OSV) |
| suse:kernel-syms | 6.12.0-160000.27.1 · SUSE:Linux Micro Extras 6.2 | Реестр пакетов (OSV) |
| suse:kernel-zfcpdump | 6.12.0-160000.27.1 · SUSE:Linux Enterprise Server 16.0 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Для этой записи нет вектора CVSS, условия атаки вывести нельзя.
Класс уязвимости (CWE)
—
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 2)Свернуть
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.