Перейти к содержимому
Noroxi
NVD / CVE Program· CNA Linux

CVE-2021-46933: usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 22/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,24% (FIRST EPSS).
  • Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: Linux Linux 1c4ace3e6b8575745c50dca9e76e0021e697d645, 240fc586e83d645912accce081a48aa63a45f6ee, 33f6a0cbb7772146e1c11f38028fffbfed14728b.
  • Критичность спорная: CNA оценивает в 7.8, NVD — в 5.5.
  • Упоминается в национальных бюллетенях кибербезопасности Турции (siberguvenlik.gov.tr): 1.

Пока низкий приоритет. Обновитесь до Linux Linux 1c4ace3e6b8575745c50dca9e76e0021e697d645, 240fc586e83d645912accce081a48aa63a45f6ee, 33f6a0cbb7772146e1c11f38028fffbfed14728b или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear. ffs_data_clear is indirectly called from both ffs_fs_kill_sb and ffs_ep0_release, so it ends up being called twice when userland closes ep0 and then unmounts f_fs. If userland provided an eventfd along with function's USB descriptors, it ends up calling eventfd_ctx_put as many times, causing a refcount underflow. NULL-ify ffs_eventfd to prevent these extraneous eventfd_ctx_put calls. Also, set epfiles to NULL right after de-allocating it, for readability. For completeness, ffs_data_clear actually ends up being called thrice, the last call being before the whole ffs structure gets freed, so when this specific sequence happens there is a second underflow happening (but not being reported): /sys/kernel/debug/tracing# modprobe usb_f_fs /sys/kernel/debug/tracing# echo ffs_data_clear > set_ftrace_filter /sys/kernel/debug/tracing# echo function > current_tracer /sys/kernel/debug/tracing# echo 1 > tracing_on (setup gadget, run and kill function userland process, teardown gadget) /sys/kernel/debug/tracing# echo 0 > tracing_on /sys/kernel/debug/tracing# cat trace smartcard-openp-436 [000] ..... 1946.208786: ffs_data_clear <-ffs_data_closed smartcard-openp-431 [000] ..... 1946.279147: ffs_data_clear <-ffs_data_closed smartcard-openp-431 [000] .n... 1946.905512: ffs_data_clear <-ffs_data_put Warning output corresponding to above trace: [ 1946.284139] WARNING: CPU: 0 PID: 431 at lib/refcount.c:28 refcount_warn_saturate+0x110/0x15c [ 1946.293094] refcount_t: underflow; use-after-free. [ 1946.298164] Modules linked in: usb_f_ncm(E) u_ether(E) usb_f_fs(E) hci_uart(E) btqca(E) btrtl(E) btbcm(E) btintel(E) bluetooth(E) nls_ascii(E) nls_cp437(E) vfat(E) fat(E) bcm2835_v4l2(CE) bcm2835_mmal_vchiq(CE) videobuf2_vmalloc(E) videobuf2_memops(E) sha512_generic(E) videobuf2_v4l2(E) sha512_arm(E) videobuf2_common(E) videodev(E) cpufreq_dt(E) snd_bcm2835(CE) brcmfmac(E) mc(E) vc4(E) ctr(E) brcmutil(E) snd_soc_core(E) snd_pcm_dmaengine(E) drbg(E) snd_pcm(E) snd_timer(E) snd(E) soundcore(E) drm_kms_helper(E) cec(E) ansi_cprng(E) rc_core(E) syscopyarea(E) raspberrypi_cpufreq(E) sysfillrect(E) sysimgblt(E) cfg80211(E) max17040_battery(OE) raspberrypi_hwmon(E) fb_sys_fops(E) regmap_i2c(E) ecdh_generic(E) rfkill(E) ecc(E) bcm2835_rng(E) rng_core(E) vchiq(CE) leds_gpio(E) libcomposite(E) fuse(E) configfs(E) ip_tables(E) x_tables(E) autofs4(E) ext4(E) crc16(E) mbcache(E) jbd2(E) crc32c_generic(E) sdhci_iproc(E) sdhci_pltfm(E) sdhci(E) [ 1946.399633] CPU: 0 PID: 431 Comm: smartcard-openp Tainted: G C OE 5.15.0-1-rpi #1 Debian 5.15.3-1 [ 1946.417950] Hardware name: BCM2835 [ 1946.425442] Backtrace: [ 1946.432048] [<c08d60a0>] (dump_backtrace) from [<c08d62ec>] (show_stack+0x20/0x24) [ 1946.448226] r7:00000009 r6:0000001c r5:c04a948c r4:c0a64e2c [ 1946.458412] [<c08d62cc>] (show_stack) from [<c08d9ae0>] (dump_stack+0x28/0x30) [ 1946.470380] [<c08d9ab8>] (dump_stack) from [<c0123500>] (__warn+0xe8/0x154) [ 1946.482067] r5:c04a948c r4:c0a71dc8 [ 1946.490184] [<c0123418>] (__warn) from [<c08d6948>] (warn_slowpath_fmt+0xa0/0xe4) [ 1946.506758] r7:00000009 r6:0000001c r5:c0a71dc8 r4:c0a71e04 [ 1946.517070] [<c08d68ac>] (warn_slowpath_fmt) from [<c04a948c>] (refcount_warn_saturate+0x110/0x15c) [ 1946.535309] r8:c0100224 r7:c0dfcb84 r6:ffffffff r5:c3b84c00 r4:c24a17c0 [ 1946.546708] [<c04a937c>] (refcount_warn_saturate) from [<c0380134>] (eventfd_ctx_put+0x48/0x74) [ 1946.564476] [<c03800ec>] (eventfd_ctx_put) from [<bf5464e8>] (ffs_data_clear+0xd0/0x118 [usb_f_fs]) [ 1946.582664] r5:c3b84c00 r4:c2695b00 [ 1946.590668] [<bf546418>] (ffs_data_clear [usb_f_fs]) from [<bf547cc0>] (ffs_data_closed+0x9c/0x150 [usb_f_fs]) [ 1946.609608] r5:bf54d014 r4:c2695b00 [ 1946.617522] [<bf547c24>] (ffs_data_closed [usb_f_fs]) from [<bf547da0>] (ffs_fs_kill_sb+0x2c/0x30 [usb_f_fs]) [ 1946.636217] r7:c0dfcb ---truncated---

СредняяCVSS 5.5 · v3.1—Эксплойта нет Есть исправление
Опубликовано
27 февр. 2024 г.
Обновлено
5 авг. 2026 г.
EPSS
0,2 % · 15-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

22

Наблюдать

Пока низкий приоритет.

CVSS
22 / 40 · 5.5 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,2 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
нет
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
5,5
CNA · Linux
7,8
разница 2,3 балла

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2021-46933

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас WordPress? Проверьте сайт бесплатно в WP Lens

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
linuxlinux kernel

Затронутые версии

Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.

  • linux linux kernel4.0.0 и новее · до 4.4.298
  • linux linux kernel4.5.0 и новее · до 4.9.296
  • linux linux kernel4.10.0 и новее · до 4.14.261
  • linux linux kernel4.15.0 и новее · до 4.19.224
  • linux linux kernel4.20.0 и новее · до 5.4.170
  • linux linux kernel5.5.0 и новее · до 5.10.90
  • linux linux kernel5.11.0 и новее · до 5.15.13

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Linux Linux

    • 4.0затронута
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до f976dd7011150244a7ba820f2c331e9fb253befaзатронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до cc8c8028c21b2a3842a1e98e99e55028df275919затронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до 52500239e3f2d6fc77b6f58632a9fb98fe74ac09затронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до 33f6a0cbb7772146e1c11f38028fffbfed14728bзатронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до 240fc586e83d645912accce081a48aa63a45f6eeзатронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до 1c4ace3e6b8575745c50dca9e76e0021e697d645затронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до ebef2aa29f370b5096c16020c104e393192ef684затронута · git
    • 5e33f6fdf735cda1d4580fe6f1878da05718fe73 и новее · до b1e0887379422975f237d43d8839b751a6bcf154затронута · git
    • до 4.0не затронута · semver

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Debian:12linuxдо 5.15.15-15.15.15-1
openSUSE:Leap 15.5dtb-aarch64до 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-64kbдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-azureдо 5.14.21-150500.33.48.15.14.21-150500.33.48.1
openSUSE:Leap 15.5kernel-debugдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-defaultдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-default-baseдо 5.14.21-150500.55.59.1.150500.6.25.75.14.21-150500.55.59.1.150500.6.25.7
openSUSE:Leap 15.5kernel-docsдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-kvmsmallдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-obs-buildдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-obs-qaдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-rtдо 5.14.21-150500.13.47.15.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-rt_debugдо 5.14.21-150500.13.47.15.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-sourceдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-source-azureдо 5.14.21-150500.33.48.15.14.21-150500.33.48.1
openSUSE:Leap 15.5kernel-source-rtдо 5.14.21-150500.13.47.15.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-symsдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap 15.5kernel-syms-azureдо 5.14.21-150500.33.48.15.14.21-150500.33.48.1
openSUSE:Leap 15.5kernel-syms-rtдо 5.14.21-150500.13.47.15.14.21-150500.13.47.1
openSUSE:Leap 15.5kernel-zfcpdumpдо 5.14.21-150500.55.59.15.14.21-150500.55.59.1
openSUSE:Leap Micro 5.3kernel-defaultдо 5.14.21-150400.24.116.15.14.21-150400.24.116.1
openSUSE:Leap Micro 5.3kernel-default-baseдо 5.14.21-150400.24.116.1.150400.24.54.55.14.21-150400.24.116.1.150400.24.54.5
openSUSE:Leap Micro 5.3kernel-rtдо 5.14.21-150400.15.76.15.14.21-150400.15.76.1
SUSE:Linux Enterprise High Availability Extension 12 SP5kernel-defaultдо 4.12.14-122.219.14.12.14-122.219.1

+52

Тот же продукт

linux: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-31431crypto: algif_aead - Revert to operating out-of-placeKEV
    90Срочно
  • 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 KEV
    89Срочно
  • CVE-2021-22555Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACEKEV
    85Срочно

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2021-4693127 февр. 2024 г. · net/mlx5e: Wrap the tx reporter dump callback to extract the sq
    22Наблюдать
  • ← РаньшеCVE-2021-4693227 февр. 2024 г. · Input: appletouch - initialize work before device registration
    22Наблюдать
  • Позже →CVE-2021-4693427 февр. 2024 г. · i2c: validate user data in compat ioctl
    13Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Linux Linux1c4ace3e6b8575745c50dca9e76e0021e697d645Вендор (CNA)
Linux Linux240fc586e83d645912accce081a48aa63a45f6eeВендор (CNA)
Linux Linux33f6a0cbb7772146e1c11f38028fffbfed14728bВендор (CNA)
Linux Linux52500239e3f2d6fc77b6f58632a9fb98fe74ac09Вендор (CNA)
Linux Linuxb1e0887379422975f237d43d8839b751a6bcf154Вендор (CNA)
Linux Linuxcc8c8028c21b2a3842a1e98e99e55028df275919Вендор (CNA)
Linux Linuxebef2aa29f370b5096c16020c104e393192ef684Вендор (CNA)
Linux Linuxf976dd7011150244a7ba820f2c331e9fb253befaВендор (CNA)
debian:linux5.15.15-1 · Debian:12Реестр пакетов (OSV)
opensuse:dtb-aarch645.14.21-150500.55.59.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-64kb5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-debug5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-default5.14.21-150400.24.116.1 · openSUSE:Leap Micro 5.3Реестр пакетов (OSV)
opensuse:kernel-default-base5.14.21-150400.24.116.1.150400.24.54.5 · openSUSE:Leap Micro 5.3Реестр пакетов (OSV)
opensuse:kernel-docs5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-kvmsmall5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-obs-build5.14.21-150500.55.59.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-rt5.14.21-150400.15.76.1 · openSUSE:Leap Micro 5.3Реестр пакетов (OSV)
opensuse:kernel-rt_debug5.14.21-150500.13.47.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-source-rt5.14.21-150500.13.47.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
opensuse:kernel-syms-rt5.14.21-150500.13.47.1 · openSUSE:Leap 15.5Реестр пакетов (OSV)
suse:kernel-64kb5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)
suse:kernel-default5.14.21-150400.24.116.1 · SUSE:Linux Enterprise Micro 5.3Реестр пакетов (OSV)
suse:kernel-default-base5.14.21-150400.24.116.1.150400.24.54.5 · SUSE:Linux Enterprise Micro 5.3Реестр пакетов (OSV)
suse:kernel-docs5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)
suse:kernel-livepatch-SLE15-SP4_Update_251-150400.9.5.1 · SUSE:Linux Enterprise Live Patching 15 SP4Реестр пакетов (OSV)
suse:kernel-livepatch-SLE15-SP5-RT_Update_131-150500.11.3.1 · SUSE:Linux Enterprise Live Patching 15 SP5Реестр пакетов (OSV)
suse:kernel-obs-build5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)
suse:kernel-rt5.14.21-150400.15.76.1 · SUSE:Linux Enterprise Micro 5.3Реестр пакетов (OSV)
suse:kernel-source5.14.21-150400.24.116.1 · SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOSРеестр пакетов (OSV)

+3

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

Истории пока нет (накапливается ежедневным заданием EPSS).

Ссылки на патчи и коммиты

Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.

Среди источников нет ссылок на коммит или PR.

Нашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.

В записи CNA нет авторов.

Кандидаты в варианты

Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.

Ночной расчёт связей ничего не нашёл.

Кандидаты в цепочки

Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.

—

Охват bug bounty

Известной публичной программы нет.

Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).

Национальное уведомление (Управление кибербезопасности Турции / USOM)

Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.

Все национальные уведомления →

Технические детали

Условия атаки

  • Может быть вызвана пользователем с локальным доступом к системе.
  • Достаточно учётной записи с низкими привилегиями.
  • Действия пользователя не требуются.
  • Особые условия не требуются; воспроизводится стабильно.

В случае успеха

Конфиденциальность
нет
Целостность
нет
Доступность
высокое · работа сервиса может быть нарушена
Вектор атаки
Локальный
Сложность атаки
Низкая
Требуемые привилегии
Низкие
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Нет
Влияние на целостность
Нет
Влияние на доступность
Высокое

Класс уязвимости (CWE)

CWE-416 · Use After Free

Вектор CVSS

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

nvd-primary

Первопричина

После освобождения области памяти продолжает использоваться другая ссылка на неё. К этому моменту та же область может быть выделена под другие данные.

Ошибка в коде

Весь класс CWE-416

Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.

Уязвимый код

c
free(dev->buf);/* ... другой поток всё ещё работает ... */process(dev->buf);

Исправленный код

c
lock(&dev->lock);free(dev->buf);dev->buf = NULL;unlock(&dev->lock);

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.

Журнал изменений

  1. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Все записи