bpf: Allow LPM map access from sleepable BPF programs
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 31/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,12% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: Linux Linux 2f884d371fafea137afea504d49ee4a7c8d7985b, 304ca50582f0c047370f85e13caec456f78c9fcc, 57454944737f3ad9a8703aecbbb79713b513a94b; azl3 kernel 6.6.144.1-1 on Azure Linux 3.0 6.6.145.2-1.
Пока низкий приоритет. Обновитесь до Linux Linux 2f884d371fafea137afea504d49ee4a7c8d7985b, 304ca50582f0c047370f85e13caec456f78c9fcc, 57454944737f3ad9a8703aecbbb79713b513a94b; azl3 kernel 6.6.144.1-1 on Azure Linux 3.0 6.6.145.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: bpf: Allow LPM map access from sleepable BPF programs trie_lookup_elem() annotates its rcu_dereference_check() walks with only rcu_read_lock_bh_held(). Because rcu_dereference_check(p, c) resolves to "c || rcu_read_lock_held()", this passes for XDP/NAPI and classic RCU readers but fails for sleepable BPF programs, which enter via __bpf_prog_enter_sleepable() and hold only rcu_read_lock_trace(). trie_update_elem() and trie_delete_elem() have the same problem in a different form: they walk the trie with plain rcu_dereference(), which asserts rcu_read_lock_held() unconditionally. Both are reachable from sleepable BPF programs via the bpf_map_update_elem / bpf_map_delete_elem helpers, and from the syscall path under classic rcu_read_lock(). In the writer paths the trie is actually protected by trie->lock (an rqspinlock taken across the walk); we never relied on the RCU read-side lock to keep nodes alive there. A sleepable LSM hook that ends up touching an LPM trie therefore triggers lockdep on debug kernels: ============================= WARNING: suspicious RCU usage 7.1.0-... Tainted: G E ----------------------------- kernel/bpf/lpm_trie.c:249 suspicious rcu_dereference_check() usage! 1 lock held by net_tests/540: #0: (rcu_tasks_trace_srcu_struct){....}-{0:0}, at: __bpf_prog_enter_sleepable+0x26/0x280 Call Trace: dump_stack_lvl lockdep_rcu_suspicious trie_lookup_elem bpf_prog_..._enforce_security_socket_connect bpf_trampoline_... security_socket_connect __sys_connect do_syscall_64 This is lockdep-only -- no UAF, since Tasks Trace RCU does serialize against the trie's reclaim path -- but it spams the console once per distinct callsite on every debug kernel running a sleepable BPF LSM that touches an LPM trie, which is increasingly common. For the lookup path, switch the rcu_dereference_check() annotation from rcu_read_lock_bh_held() to bpf_rcu_lock_held(), which accepts all three contexts (classic, BH, Tasks Trace). Other map types already follow this convention. For trie_update_elem() and trie_delete_elem(), annotate the walks as rcu_dereference_protected(*p, 1) -- matching trie_free() in the same file -- since trie->lock is held across the walk. rqspinlock has no lockdep_map, so the predicate degenerates to '1' rather than lockdep_is_held(&trie->lock); the protection is real but not machine-verifiable. trie_get_next_key() also uses bare rcu_dereference() but is reachable only from the BPF syscall, which holds classic rcu_read_lock() before dispatching, so it is left untouched.
- Опубликовано
- 25 июл. 2026 г.
- Обновлено
- 3 сент. 2026 г.
- EPSS
- 0,1 % · 2-й процентиль
- CWE
- CWE-416
Инструменты для отчёта
Оценка срочности
31
Наблюдать
Пока низкий приоритет.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,1 %
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- linux linux kernel5.14 и новее · до 5.15.212
- linux linux kernel5.16 и новее · до 6.1.178
- linux linux kernel6.2 и новее · до 6.6.145
- linux linux kernel6.7 и новее · до 6.12.97
- linux linux kernel6.13 и новее · до 6.18.40
- linux linux kernel6.19 и новее · до 7.1.4
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 5.14затронута
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до f0967d4f1ba4323a3cb7dc8fdba74dd3a8caaf04затронута · git
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до 304ca50582f0c047370f85e13caec456f78c9fccзатронута · git
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до ec662a8b2cde01e76b37ccd4b992d0342299e69cзатронута · git
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до 9bfdf4b81b0e56d47bc6c46c34a46638be716695затронута · git
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до 57454944737f3ad9a8703aecbbb79713b513a94bзатронута · git
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до bd6ad9a6b30498d845413e863fb95c6fab3babe3затронута · git
- 694cea395fded425008e93cd90cfdf7a451674af и новее · до 2f884d371fafea137afea504d49ee4a7c8d7985bзатронута · git
- до 5.14не затронута · semver
- 5.15.212 и новее · до 5.15.* включительноне затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | linux | до 6.1.180-1 | 6.1.180-1 |
| Debian:12 | linux-6.12 | до 6.12.100-1~deb12u1 | 6.12.100-1~deb12u1 |
| Debian:13 | linux | до 6.12.100-1 | 6.12.100-1 |
| Debian:14 | linux | до 7.1.4-1 | 7.1.4-1 |
Тот же продукт
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-2026-6435025 июл. 2026 г. · usb: cdnsp: fix stream context array leak in cdnsp_alloc_stream_info()22Наблюдать
- ← РаньшеCVE-2026-6435125 июл. 2026 г. · net: usb: kalmia: bound RX frame length in kalmia_rx_fixup()22Наблюдать
- Позже →CVE-2026-6435325 июл. 2026 г. · bpf: Keep dynamic inner array lookups nullable22Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 2f884d371fafea137afea504d49ee4a7c8d7985b | Вендор (CNA) |
| Linux Linux | 304ca50582f0c047370f85e13caec456f78c9fcc | Вендор (CNA) |
| Linux Linux | 57454944737f3ad9a8703aecbbb79713b513a94b | Вендор (CNA) |
| Linux Linux | 9bfdf4b81b0e56d47bc6c46c34a46638be716695 | Вендор (CNA) |
| Linux Linux | bd6ad9a6b30498d845413e863fb95c6fab3babe3 | Вендор (CNA) |
| Linux Linux | ec662a8b2cde01e76b37ccd4b992d0342299e69c | Вендор (CNA) |
| Linux Linux | f0967d4f1ba4323a3cb7dc8fdba74dd3a8caaf04 | Вендор (CNA) |
| azl3 kernel 6.6.144.1-1 on Azure Linux 3.0 | 6.6.145.2-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.180-1 · Debian:12 | Реестр пакетов (OSV) |
| debian:linux-6.12 | 6.12.100-1~deb12u1 · Debian:12 | Реестр пакетов (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).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (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Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
free(dev->buf);
/* ... другой поток всё ещё работает ... */
process(dev->buf);Исправленный код
lock(&dev->lock);
free(dev->buf);
dev->buf = NULL;
unlock(&dev->lock);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 6)Свернуть
- git.kernel.org/stable/c/304ca50582f0c047370f85e13caec456f78c9fcc
- git.kernel.org/stable/c/57454944737f3ad9a8703aecbbb79713b513a94b
- git.kernel.org/stable/c/9bfdf4b81b0e56d47bc6c46c34a46638be716695
- git.kernel.org/stable/c/bd6ad9a6b30498d845413e863fb95c6fab3babe3
- git.kernel.org/stable/c/ec662a8b2cde01e76b37ccd4b992d0342299e69c
- git.kernel.org/stable/c/f0967d4f1ba4323a3cb7dc8fdba74dd3a8caaf04
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.