btrfs: fix qgroup reserve overflow the qgroup limit
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix qgroup reserve overflow the qgroup limit We use extent_changeset->bytes_changed in qgroup_reserve_data() to record how many bytes we set for EXTENT_QGROUP_RESERVED state. Currently the bytes_changed is set as "unsigned int", and it will overflow if we try to fallocate a range larger than 4GiB. The result is we reserve less bytes and eventually break the qgroup limit. Unlike regular buffered/direct write, which we use one changeset for each ordered extent, which can never be larger than 256M. For fallocate, we use one changeset for the whole range, thus it no longer respects the 256M per extent limit, and caused the problem. The following example test script reproduces the problem: $ cat qgroup-overflow.sh #!/bin/bash DEV=/dev/sdj MNT=/mnt/sdj mkfs.btrfs -f $DEV mount $DEV $MNT # Set qgroup limit to 2GiB. btrfs quota enable $MNT btrfs qgroup limit 2G $MNT # Try to fallocate a 3GiB file. This should fail. echo echo "Try to fallocate a 3GiB file..." fallocate -l 3G $MNT/3G.file # Try to fallocate a 5GiB file. echo echo "Try to fallocate a 5GiB file..." fallocate -l 5G $MNT/5G.file # See we break the qgroup limit. echo sync btrfs qgroup show -r $MNT umount $MNT When running the test: $ ./qgroup-overflow.sh (...) Try to fallocate a 3GiB file... fallocate: fallocate failed: Disk quota exceeded Try to fallocate a 5GiB file... qgroupid rfer excl max_rfer -------- ---- ---- -------- 0/5 5.00GiB 5.00GiB 2.00GiB Since we have no control of how bytes_changed is used, it's better to set it to u64.
- Опубликовано
- 26 февр. 2025 г.
- Обновлено
- 5 авг. 2026 г.
- EPSS
- 0,7 % · 50-й процентиль
- CWE
- CWE-190
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
22
Наблюдать
Пока низкий приоритет.
- CVSS
- 22 / 40 · 5.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,7 %
Оценка CNA и NVD
- NVD
- 5,5
- CNA · Linux
- 8,1
- разница 2,6 балла
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| linux | linux kernel | cpe:2.3:o:linux:linux_kernel |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- linux linux kernelдо 4.14.276
- linux linux kernel4.15 и новее · до 4.19.238
- linux linux kernel4.20 и новее · до 5.4.189
- linux linux kernel5.5 и новее · до 5.10.111
- linux linux kernel5.11 и новее · до 5.15.34
- linux linux kernel5.16 и новее · до 5.16.20
- linux linux kernel5.17 и новее · до 5.17.3
- linux linux kernel5.18
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 4.13затронута
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до 0355387ea5b02d353c9415613fab908fac5c52a6затронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до f3d97b22a708bf9e3f3ac2ba232bcefd0b0c136bзатронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до 44277c50fdba5019ca25bfad1b71e2561b0de11bзатронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до 82ae73ac963cee877ce34f7c31b2b456b516e96cзатронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до 4b98799e181b4326a613108cf37acc1f55d21b45затронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до 6bfff81286d4491f02dad7814bae5c77c9ad2320затронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до 7941b74ed49b6db25efbef2256ebef843c11a010затронута · git
- 7bc329c1836866ffac8b2613f780a51b3ffe786d и новее · до b642b52d0b50f4d398cb4293f64992d0eed2e2ceзатронута · git
- до 4.13не затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | linux | до 5.17.3-1 | 5.17.3-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-2019-13272In the Linux kernel before 5.1.17, ptrace_link in kernel/ptrace.c mishandles the recording of the credentials of a process that wants to creKEV77На этой неделе
- CVE-2013-6282The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addKEV77На этой неделе
- CVE-2013-2094The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9 uses an incorrect integer data type, which allows loKEV77На этой неделе
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 0355387ea5b02d353c9415613fab908fac5c52a6 | Вендор (CNA) |
| Linux Linux | 44277c50fdba5019ca25bfad1b71e2561b0de11b | Вендор (CNA) |
| Linux Linux | 4b98799e181b4326a613108cf37acc1f55d21b45 | Вендор (CNA) |
| Linux Linux | 6bfff81286d4491f02dad7814bae5c77c9ad2320 | Вендор (CNA) |
| Linux Linux | 7941b74ed49b6db25efbef2256ebef843c11a010 | Вендор (CNA) |
| Linux Linux | 82ae73ac963cee877ce34f7c31b2b456b516e96c | Вендор (CNA) |
| Linux Linux | b642b52d0b50f4d398cb4293f64992d0eed2e2ce | Вендор (CNA) |
| Linux Linux | f3d97b22a708bf9e3f3ac2ba232bcefd0b0c136b | Вендор (CNA) |
| debian:linux | 5.17.3-1 · 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-31633с разницей 422 дн.rxrpc: Fix integer overflow in rxgk_verify_response()39Наблюдать
- CVE-2026-31649с разницей 422 дн.net: stmmac: fix integer underflow in chain mode39Наблюдать
- CVE-2026-46039с разницей 455 дн.rxgk: Fix potential integer overflow in length check39Наблюдать
- CVE-2026-46198с разницей 456 дн.batman-adv: fix integer overflow on buff_pos35Наблюдать
- CVE-2026-64313с разницей 514 дн.crypto: ecc - Fix carry overflow in vli multiplication35Наблюдать
- CVE-2022-49030с разницей 128 дн.libbpf: Handle size overflow for ringbuf mmap31Наблюдать
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-190 · Integer Overflow or WraparoundВектор 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.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- git.kernel.org/stable/c/0355387ea5b02d353c9415613fab908fac5c52a6
- git.kernel.org/stable/c/44277c50fdba5019ca25bfad1b71e2561b0de11b
- git.kernel.org/stable/c/4b98799e181b4326a613108cf37acc1f55d21b45
- git.kernel.org/stable/c/6bfff81286d4491f02dad7814bae5c77c9ad2320
- git.kernel.org/stable/c/7941b74ed49b6db25efbef2256ebef843c11a010
- git.kernel.org/stable/c/82ae73ac963cee877ce34f7c31b2b456b516e96c
- git.kernel.org/stable/c/b642b52d0b50f4d398cb4293f64992d0eed2e2ce
- git.kernel.org/stable/c/f3d97b22a708bf9e3f3ac2ba232bcefd0b0c136b
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.