CVE-2025-38472: netfilter: nf_conntrack: fix crash due to removal of uninitialised entry
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 22/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,43% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
- Исправленная версия: Linux Linux 2d72afb340657f03f7261e9243b44457a9228ac7, 5.19, 76179961c423cd698080b5e4d5583cf7f4fcdde9; azl3 kernel 6.6.96.2-2 on Azure Linux 3.0 6.6.104.2-1.
- Критичность спорная: CNA оценивает в 9.8, NVD — в 5.5.
Пока низкий приоритет. Обновитесь до Linux Linux 2d72afb340657f03f7261e9243b44457a9228ac7, 5.19, 76179961c423cd698080b5e4d5583cf7f4fcdde9; azl3 kernel 6.6.96.2-2 on Azure Linux 3.0 6.6.104.2-1 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack: fix crash due to removal of uninitialised entry A crash in conntrack was reported while trying to unlink the conntrack entry from the hash bucket list: [exception RIP: __nf_ct_delete_from_lists+172] [..] #7 [ff539b5a2b043aa0] nf_ct_delete at ffffffffc124d421 [nf_conntrack] #8 [ff539b5a2b043ad0] nf_ct_gc_expired at ffffffffc124d999 [nf_conntrack] #9 [ff539b5a2b043ae0] __nf_conntrack_find_get at ffffffffc124efbc [nf_conntrack] [..] The nf_conn struct is marked as allocated from slab but appears to be in a partially initialised state: ct hlist pointer is garbage; looks like the ct hash value (hence crash). ct->status is equal to IPS_CONFIRMED|IPS_DYING, which is expected ct->timeout is 30000 (=30s), which is unexpected. Everything else looks like normal udp conntrack entry. If we ignore ct->status and pretend its 0, the entry matches those that are newly allocated but not yet inserted into the hash: - ct hlist pointers are overloaded and store/cache the raw tuple hash - ct->timeout matches the relative time expected for a new udp flow rather than the absolute 'jiffies' value. If it were not for the presence of IPS_CONFIRMED, __nf_conntrack_find_get() would have skipped the entry. Theory is that we did hit following race: cpu x cpu y cpu z found entry E found entry E E is expired <preemption> nf_ct_delete() return E to rcu slab init_conntrack E is re-inited, ct->status set to 0 reply tuplehash hnnode.pprev stores hash value. cpu y found E right before it was deleted on cpu x. E is now re-inited on cpu z. cpu y was preempted before checking for expiry and/or confirm bit. ->refcnt set to 1 E now owned by skb ->timeout set to 30000 If cpu y were to resume now, it would observe E as expired but would skip E due to missing CONFIRMED bit. nf_conntrack_confirm gets called sets: ct->status |= CONFIRMED This is wrong: E is not yet added to hashtable. cpu y resumes, it observes E as expired but CONFIRMED: <resumes> nf_ct_expired() -> yes (ct->timeout is 30s) confirmed bit set. cpu y will try to delete E from the hashtable: nf_ct_delete() -> set DYING bit __nf_ct_delete_from_lists Even this scenario doesn't guarantee a crash: cpu z still holds the table bucket lock(s) so y blocks: wait for spinlock held by z CONFIRMED is set but there is no guarantee ct will be added to hash: "chaintoolong" or "clash resolution" logic both skip the insert step. reply hnnode.pprev still stores the hash value. unlocks spinlock return NF_DROP <unblocks, then crashes on hlist_nulls_del_rcu pprev> In case CPU z does insert the entry into the hashtable, cpu y will unlink E again right away but no crash occurs. Without 'cpu y' race, 'garbage' hlist is of no consequence: ct refcnt remains at 1, eventually skb will be free'd and E gets destroyed via: nf_conntrack_put -> nf_conntrack_destroy -> nf_ct_destroy. To resolve this, move the IPS_CONFIRMED assignment after the table insertion but before the unlock. Pablo points out that the confirm-bit-store could be reordered to happen before hlist add resp. the timeout fixup, so switch to set_bit and before_atomic memory barrier to prevent this. It doesn't matter if other CPUs can observe a newly inserted entry right before the CONFIRMED bit was set: Such event cannot be distinguished from above "E is the old incarnation" case: the entry will be skipped. Also change nf_ct_should_gc() to first check the confirmed bit. The gc sequence is: 1. Check if entry has expired, if not skip to next entry 2. Obtain a reference to the expired entry. 3. Call nf_ct_should_gc() to double-check step 1. nf_ct_should_gc() is thus called only for entries that already failed an expiry check. After this patch, once the confirmed bit check pas ---truncated---
- Опубликовано
- 28 июл. 2025 г.
- Обновлено
- 15 окт. 2026 г.
- EPSS
- 0,4 % · 37-й процентиль
- CWE
- CWE-908
Инструменты для отчёта
Оценка срочности
22
Наблюдать
Пока низкий приоритет.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,4 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- да
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- 5,5
- CNA · Linux
- 9,8
- разница 4,3 балла
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- debian debian linux11.0
- linux linux kernel5.18.13 и новее · до 6.1.147
- linux linux kernel6.2 и новее · до 6.6.100
- linux linux kernel6.7 и новее · до 6.12.40
- linux linux kernel6.13 и новее · до 6.15.8
- linux linux kernel6.16
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 594cea2c09f7cd440d1ee1c4547d5bc6a646b0e4, 5.19затронута
- 1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912 и новее · до a47ef874189d47f934d0809ae738886307c0ea22затронута · git
- 1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912 и новее · до 76179961c423cd698080b5e4d5583cf7f4fcdde9затронута · git
- 1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912 и новее · до fc38c249c622ff5e3011b8845fd49dbfd9289afcзатронута · git
- 1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912 и новее · до 938ce0e8422d3793fe30df2ed0e37f6bc0598379затронута · git
- 1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912 и новее · до 2d72afb340657f03f7261e9243b44457a9228ac7затронута · git
- 5.18.13 и новее · до 5.19затронута · semver
- до 5.19не затронута · semver
- 6.1.147 и новее · до 6.1.* включительноне затронута · semver
- 6.6.100 и новее · до 6.6.* включительноне затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:10 | kernel-abi-stablelists | до 6.12.0-55.30.1.el10_0 | 6.12.0-55.30.1.el10_0 |
| AlmaLinux:10 | kernel-doc | до 6.12.0-55.30.1.el10_0 | 6.12.0-55.30.1.el10_0 |
| AlmaLinux:9 | kernel | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-core | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-core | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-devel | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-devel-matched | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules-core | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules-extra | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-devel | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-devel-matched | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-modules | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-modules-core | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-64k-modules-extra | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-abi-stablelists | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-core | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-cross-headers | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-debug | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-debug-core | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-debug-devel | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
| AlmaLinux:9 | kernel-debug-devel-matched | до 5.14.0-570.49.1.el9_6 | 5.14.0-570.49.1.el9_6 |
+96
Тот же продукт
linux: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV90Срочно
- 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-2025-3849728 июл. 2025 г. · usb: gadget: configfs: Fix OOB read on empty string write28Наблюдать
- ← РаньшеCVE-2025-3847028 июл. 2025 г. · net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime22Наблюдать
- Позже →CVE-2025-3847828 июл. 2025 г. · comedi: Fix initialization of data for instructions that write to subdevice22Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 2d72afb340657f03f7261e9243b44457a9228ac7 | Вендор (CNA) |
| Linux Linux | 5.19 | Вендор (CNA) |
| Linux Linux | 76179961c423cd698080b5e4d5583cf7f4fcdde9 | Вендор (CNA) |
| Linux Linux | 938ce0e8422d3793fe30df2ed0e37f6bc0598379 | Вендор (CNA) |
| Linux Linux | a47ef874189d47f934d0809ae738886307c0ea22 | Вендор (CNA) |
| Linux Linux | fc38c249c622ff5e3011b8845fd49dbfd9289afc | Вендор (CNA) |
| azl3 kernel 6.6.96.2-2 on Azure Linux 3.0 | 6.6.104.2-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| almalinux:kernel | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-core | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-core | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-devel | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-devel-matched | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-modules | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-modules-core | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-modules-extra | 5.14.0-570.49.1.el9_6 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:kernel-abi-stablelists | 6.12.0-55.30.1.el10_0 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-doc | 6.12.0-55.30.1.el10_0 · AlmaLinux:10 | Реестр пакетов (OSV) |
| debian:linux | 6.1.147-1 · Debian:12 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debug-devel | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debug-devel-matched | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debuginfo | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-64k-devel | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-64k-devel-matched | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-debug-debuginfo | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-debug-devel | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-debug-devel-matched | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
| red hat:kernel-debuginfo | 0:6.12.0-55.30.1.el10_0 · Red Hat:enterprise_linux:10.0 | Реестр пакетов (OSV) |
+3
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2024-50302с разницей 251 дн.HID: core: zero-initialize the report bufferKEV52В плане
- CVE-2026-52989с разницей 331 дн.nvmet-tcp: propagate nvmet_tcp_build_pdu_iovec() errors to its callers39Наблюдать
- CVE-2024-47685с разницей 280 дн.netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()36Наблюдать
- CVE-2026-53225с разницей 332 дн.sctp: fix uninit-value in __sctp_rcv_asconf_lookup()36Наблюдать
- CVE-2026-53170с разницей 332 дн.accel/ethosu: reject DMA commands with uninitialized length35Наблюдать
- CVE-2026-43139с разницей 282 дн.xfrm6: fix uninitialized saddr in xfrm6_get_saddr()34Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-908 · Use of Uninitialized ResourceВектор 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
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 5)Свернуть
- git.kernel.org/stable/c/76179961c423cd698080b5e4d5583cf7f4fcdde9
- git.kernel.org/stable/c/938ce0e8422d3793fe30df2ed0e37f6bc0598379
- git.kernel.org/stable/c/a47ef874189d47f934d0809ae738886307c0ea22
- git.kernel.org/stable/c/fc38c249c622ff5e3011b8845fd49dbfd9289afc
- lists.debian.org/debian-lts-announce/2025/10/msg00008.html
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.