btrfs: reject free space cache with more entries than pages
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 31/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,12% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: Linux Linux 094734c7aaa2b36751dc32480a680a4952685e78, 33878ba25e2638bc0c61623d7a05c9ca2b74c039, 404a0b986e0b6e79738fdf1f0ebbbc43b9acd2a2; azl3 kernel 6.6.145.2-1 on Azure Linux 3.0 6.6.150.1-1.
- Упоминается в национальных бюллетенях кибербезопасности Турции (siberguvenlik.gov.tr): 1.
Пока низкий приоритет. Обновитесь до Linux Linux 094734c7aaa2b36751dc32480a680a4952685e78, 33878ba25e2638bc0c61623d7a05c9ca2b74c039, 404a0b986e0b6e79738fdf1f0ebbbc43b9acd2a2; azl3 kernel 6.6.145.2-1 on Azure Linux 3.0 6.6.150.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: btrfs: reject free space cache with more entries than pages When loading a v1 free space cache, __load_free_space_cache() takes num_entries and num_bitmaps straight from the on-disk btrfs_free_space_header. That header is stored in the tree_root under a key with type 0, which the tree-checker has no case for, so neither count is validated before the load trusts it. The load loops num_entries times and maps the next page whenever the current one runs out, going through io_ctl_check_crc() -> io_ctl_map_page(), which does io_ctl->pages[io_ctl->index++]. But pages[] is allocated in io_ctl_init() from the cache inode's i_size, not from num_entries: num_pages = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE); io_ctl->pages = kcalloc(num_pages, sizeof(struct page *), GFP_NOFS); So if num_entries claims more records than the pages can hold, io_ctl->index runs off the end of pages[]. The write side never hits this because io_ctl_add_entry() and io_ctl_add_bitmap() both stop once io_ctl->index >= io_ctl->num_pages; the read side just never had the same check. To trigger it, take a clean cache (num_entries = <N> here), set num_entries in the header to 0x10000, and fix up the leaf checksum so it still passes the tree-checker. The cache inode has i_size = 65536, so num_pages is 16 and pages[] is a 16-pointer (kmalloc-128) array. The load now tries to read 65536 entries, io_ctl->index walks up to 16, and pages[16] is read past the array: BUG: KASAN: slab-out-of-bounds in io_ctl_check_crc (fs/btrfs/free-space-cache.c:420 fs/btrfs/free-space-cache.c:565) Read of size 8 at addr ffff88800c833a80 by task kworker/u8:3/58 io_ctl_check_crc (fs/btrfs/free-space-cache.c:420 fs/btrfs/free-space-cache.c:565) __load_free_space_cache (fs/btrfs/free-space-cache.c:655 fs/btrfs/free-space-cache.c:820) load_free_space_cache (fs/btrfs/free-space-cache.c:1017) caching_thread (fs/btrfs/block-group.c:880) btrfs_work_helper (fs/btrfs/async-thread.c:312) process_one_work worker_thread kthread ret_from_fork free-space-cache.c:420 is io_ctl_map_page(), inlined into io_ctl_check_crc() at line 565, which is why that is the frame KASAN names. The out-of-bounds slot is then treated as a struct page and handed to crc32c(), so the bad read turns into a GP fault. Add the missing check to io_ctl_check_crc(), which is where both the entry loop and the bitmap loop end up. When num_entries is too large the load now fails like any corrupt cache: __load_free_space_cache() drops it and rebuilds the free space from the extent tree, so a valid cache is never rejected.
- Опубликовано
- 5 авг. 2026 г.
- Обновлено
- 19 окт. 2026 г.
- EPSS
- 0,1 % · 1-й процентиль
- CWE
- CWE-125
Инструменты для отчёта
Оценка срочности
31
Наблюдать
Пока низкий приоритет.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,1 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · Linux
- 7,8
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 3.2затронута
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до 8ded74c654a982dc8581a17b0caa7fcedb20de69затронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до c9c38066b6446e83668c041702bb639b0ca49363затронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до 094734c7aaa2b36751dc32480a680a4952685e78затронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до 33878ba25e2638bc0c61623d7a05c9ca2b74c039затронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до 404a0b986e0b6e79738fdf1f0ebbbc43b9acd2a2затронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до 5e1b2ca6b34939e70fb0785e8222b53cf060016fзатронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до f9fef131fa3f59b857217f522fa5ea430d1b707cзатронута · git
- 5b0e95bf607ddd59b39f52d3d55e6581c817b530 и новее · до a2d8d5647ed854e38f941741aea45b9eb15a6350затронута · git
- до 3.2не затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | linux | до 6.1.187-1 | 6.1.187-1 |
| Debian:12 | linux-6.12 | до 6.12.101-1~deb12u1 | 6.12.101-1~deb12u1 |
| Debian:13 | linux | до 6.12.101-1 | 6.12.101-1 |
| Debian:14 | linux | до 7.1.6-1 | 7.1.6-1 |
Тот же продукт
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-2026-645785 авг. 2026 г. · ksmbd: validate compound request size before reading StructureSize232Наблюдать
- ← РаньшеCVE-2026-645795 авг. 2026 г. · xfrm: policy: preallocate inexact bins before xfrm_hash_rebuild reinsert0Наблюдать
- Позже →CVE-2026-645705 авг. 2026 г. · wifi: mac80211: fix fils_discovery double free on alloc failure31Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 094734c7aaa2b36751dc32480a680a4952685e78 | Вендор (CNA) |
| Linux Linux | 33878ba25e2638bc0c61623d7a05c9ca2b74c039 | Вендор (CNA) |
| Linux Linux | 404a0b986e0b6e79738fdf1f0ebbbc43b9acd2a2 | Вендор (CNA) |
| Linux Linux | 5e1b2ca6b34939e70fb0785e8222b53cf060016f | Вендор (CNA) |
| Linux Linux | 8ded74c654a982dc8581a17b0caa7fcedb20de69 | Вендор (CNA) |
| Linux Linux | a2d8d5647ed854e38f941741aea45b9eb15a6350 | Вендор (CNA) |
| Linux Linux | c9c38066b6446e83668c041702bb639b0ca49363 | Вендор (CNA) |
| Linux Linux | f9fef131fa3f59b857217f522fa5ea430d1b707c | Вендор (CNA) |
| azl3 kernel 6.6.145.2-1 on Azure Linux 3.0 | 6.6.150.1-1 · CBL-Mariner Releases | Microsoft (MSRC) |
| debian:linux | 6.1.187-1 · Debian:12 | Реестр пакетов (OSV) |
| debian:linux-6.12 | 6.12.101-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 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
- CVE-2026-68082с разницей 3 дн.libceph: fix two unsafe bare decodes in decode_lockers()39Наблюдать
- CVE-2026-68160с разницей 5 дн.ceph: fix pre-auth out-of-bounds read on snaptrace in ceph_handle_caps()39Наблюдать
- CVE-2026-68388с разницей 5 дн.smb/client: handle overlapping allocated ranges in fallocate39Наблюдать
- CVE-2026-72084с разницей 10 дн.scsi: target: Bound PR-OUT TransportID parsing to the received buffer39Наблюдать
- CVE-2026-63912с разницей 17 дн.xfrm: esp: restore combined single-frag length gate39Наблюдать
- CVE-2026-63938с разницей 17 дн.KVM: SEV: Check PSC request indices against the actual size of the buffer37Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Национальное уведомление (Управление кибербезопасности Турции / USOM)
Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.
- TR-26-0742 · 5 авг. 2026 г.(Linux Kernel Güvenlik Bildirimi)
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-125 · Out-of-bounds ReadВектор CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Журнал изменений
- Эксплуатация SSVC— → none
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 7)Свернуть
- git.kernel.org/stable/c/33878ba25e2638bc0c61623d7a05c9ca2b74c039
- git.kernel.org/stable/c/404a0b986e0b6e79738fdf1f0ebbbc43b9acd2a2
- git.kernel.org/stable/c/5e1b2ca6b34939e70fb0785e8222b53cf060016f
- git.kernel.org/stable/c/8ded74c654a982dc8581a17b0caa7fcedb20de69
- git.kernel.org/stable/c/a2d8d5647ed854e38f941741aea45b9eb15a6350
- git.kernel.org/stable/c/c9c38066b6446e83668c041702bb639b0ca49363
- git.kernel.org/stable/c/f9fef131fa3f59b857217f522fa5ea430d1b707c
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.