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

CVE-2024-26629: nfsd: fix RELEASE_LOCKOWNER

Оценка Noroxi

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

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,19% (FIRST EPSS).
  • Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
  • Исправленная версия: Linux Linux 10d75984495f7fe62152c3b0dbfa3f0a6b739c9b, 4.10, 4.15.

Пока низкий приоритет. Обновитесь до Linux Linux 10d75984495f7fe62152c3b0dbfa3f0a6b739c9b, 4.10, 4.15 или новее.

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

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

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix RELEASE_LOCKOWNER The test on so_count in nfsd4_release_lockowner() is nonsense and harmful. Revert to using check_for_locks(), changing that to not sleep. First: harmful. As is documented in the kdoc comment for nfsd4_release_lockowner(), the test on so_count can transiently return a false positive resulting in a return of NFS4ERR_LOCKS_HELD when in fact no locks are held. This is clearly a protocol violation and with the Linux NFS client it can cause incorrect behaviour. If RELEASE_LOCKOWNER is sent while some other thread is still processing a LOCK request which failed because, at the time that request was received, the given owner held a conflicting lock, then the nfsd thread processing that LOCK request can hold a reference (conflock) to the lock owner that causes nfsd4_release_lockowner() to return an incorrect error. The Linux NFS client ignores that NFS4ERR_LOCKS_HELD error because it never sends NFS4_RELEASE_LOCKOWNER without first releasing any locks, so it knows that the error is impossible. It assumes the lock owner was in fact released so it feels free to use the same lock owner identifier in some later locking request. When it does reuse a lock owner identifier for which a previous RELEASE failed, it will naturally use a lock_seqid of zero. However the server, which didn't release the lock owner, will expect a larger lock_seqid and so will respond with NFS4ERR_BAD_SEQID. So clearly it is harmful to allow a false positive, which testing so_count allows. The test is nonsense because ... well... it doesn't mean anything. so_count is the sum of three different counts. 1/ the set of states listed on so_stateids 2/ the set of active vfs locks owned by any of those states 3/ various transient counts such as for conflicting locks. When it is tested against '2' it is clear that one of these is the transient reference obtained by find_lockowner_str_locked(). It is not clear what the other one is expected to be. In practice, the count is often 2 because there is precisely one state on so_stateids. If there were more, this would fail. In my testing I see two circumstances when RELEASE_LOCKOWNER is called. In one case, CLOSE is called before RELEASE_LOCKOWNER. That results in all the lock states being removed, and so the lockowner being discarded (it is removed when there are no more references which usually happens when the lock state is discarded). When nfsd4_release_lockowner() finds that the lock owner doesn't exist, it returns success. The other case shows an so_count of '2' and precisely one state listed in so_stateid. It appears that the Linux client uses a separate lock owner for each file resulting in one lock state per lock owner, so this test on '2' is safe. For another client it might not be safe. So this patch changes check_for_locks() to use the (newish) find_any_file_locked() so that it doesn't take a reference on the nfs4_file and so never calls nfsd_file_put(), and so never sleeps. With this check is it safe to restore the use of check_for_locks() rather than testing so_count against the mysterious '2'.

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

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

JSON

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

22

Наблюдать

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

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

Решение CISA SSVC

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

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

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

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

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

Следить за CVE-2024-26629

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

  • когда запись попадёт в 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 kernel5.19 и новее · до 6.1.79
  • linux linux kernel6.2 и новее · до 6.6.15
  • linux linux kernel6.7 и новее · до 6.7.3
  • linux linux kernel6.8

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

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

  • Linux Linux

    • fea1d0940301378206955264a01778700fc9c16f, 2ec65dc6635d1976bd1dbf2640ff7f810b2f6dd1, a2235bc65ade40982c3d09025cdd34bc539d6a69, ba747abfca27e23c42ded3912c87b70d7e16b6ab, e8020d96dd5b2dcc1f6a8ee4f87a53a373002cd5, 5.19затронута
    • ef481b262bba4f454351eec43f024fec942c2d4c и новее · до 10d75984495f7fe62152c3b0dbfa3f0a6b739c9bзатронута · git
    • 3097f38e91266c7132c3fdb7e778fac858c00670 и новее · до 99fb654d01dc3f08b5905c663ad6c89a9d83302fзатронута · git
    • e2fc17fcc503cfca57b5d1dd3b646ca7eebead97 и новее · до c6f8b3fcc62725e4129f2c0fd550d022d4a7685aзатронута · git
    • ce3c4ad7f4ce5db7b4f08a1e237d8dd94b39180b и новее · до e4cf8941664cae2f89f0189c29fe2ce8c6be0d03затронута · git
    • ce3c4ad7f4ce5db7b4f08a1e237d8dd94b39180b и новее · до b7d2eee1f53899b53f069bba3a59a419fc3d331bзатронута · git
    • ce3c4ad7f4ce5db7b4f08a1e237d8dd94b39180b и новее · до 8f5b860de87039b007e84a28a5eefc888154e098затронута · git
    • ce3c4ad7f4ce5db7b4f08a1e237d8dd94b39180b и новее · до edcf9725150e42beeca42d085149f4c88fa97afdзатронута · git
    • 4.19.246 и новее · до 4.19.306затронута · semver
    • 5.10.120 и новее · до 5.10.220затронута · semver

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

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

ЭкосистемаПакетЗатронутый диапазонИсправление
AlmaLinux:9bpftoolдо 7.3.0-427.35.1.el9_47.3.0-427.35.1.el9_4
AlmaLinux:9kernelдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64kдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-coreдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debugдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debug-coreдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debug-develдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debug-devel-matchedдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debug-modulesдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debug-modules-coreдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-debug-modules-extraдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-develдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-devel-matchedдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-modulesдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-modules-coreдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-64k-modules-extraдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-abi-stablelistsдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-coreдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-cross-headersдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-debugдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-debug-coreдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-debug-develдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-debug-devel-matchedдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4
AlmaLinux:9kernel-debug-modulesдо 5.14.0-427.35.1.el9_45.14.0-427.35.1.el9_4

+96

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

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-2023-5260813 мар. 2024 г. · firmware: arm_scmi: Check mailbox/SMT channel for consistency
    18Наблюдать
  • ← РаньшеCVE-2024-2663013 мар. 2024 г. · mm: cachestat: fix folio read-after-free in cache walk
    28Наблюдать
  • Позже →CVE-2021-4710915 мар. 2024 г. · neighbour: allow NUD_NOARP entries to be forced GCed
    22Наблюдать

Исправление

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

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

Продукт / пакетИсправленная версияИсточник
Linux Linux10d75984495f7fe62152c3b0dbfa3f0a6b739c9bВендор (CNA)
Linux Linux4.10Вендор (CNA)
Linux Linux4.15Вендор (CNA)
Linux Linux4.19.306Вендор (CNA)
Linux Linux5.10.220Вендор (CNA)
Linux Linux5.15.154Вендор (CNA)
Linux Linux5.18Вендор (CNA)
Linux Linux5.19Вендор (CNA)
Linux Linux5.5Вендор (CNA)
Linux Linux8f5b860de87039b007e84a28a5eefc888154e098Вендор (CNA)
Linux Linux99fb654d01dc3f08b5905c663ad6c89a9d83302fВендор (CNA)
Linux Linuxb7d2eee1f53899b53f069bba3a59a419fc3d331bВендор (CNA)
Linux Linuxc6f8b3fcc62725e4129f2c0fd550d022d4a7685aВендор (CNA)
Linux Linuxe4cf8941664cae2f89f0189c29fe2ce8c6be0d03Вендор (CNA)
Linux Linuxedcf9725150e42beeca42d085149f4c88fa97afdВендор (CNA)
almalinux:bpftool7.3.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-core5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug-core5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug-devel5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug-devel-matched5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug-modules5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug-modules-core5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-debug-modules-extra5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
almalinux:kernel-64k-devel5.14.0-427.35.1.el9_4 · AlmaLinux:9Реестр пакетов (OSV)
debian:linux6.1.82-1 · Debian:12Реестр пакетов (OSV)
red hat:bpftool-debuginfo0:7.3.0-427.35.1.el9_4 · Red Hat:enterprise_linux:9::appstreamРеестр пакетов (OSV)
red hat:kernel-64k-debug-debuginfo0:5.14.0-427.35.1.el9_4 · Red Hat:enterprise_linux:9::appstreamРеестр пакетов (OSV)

+11

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

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

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

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

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

Хронология

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

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

EPSS за 120 дней

Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).

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

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

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

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

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

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

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

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

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

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

—

Охват bug bounty

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

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

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

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

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

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

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

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

CWE-667 · Improper Locking

Вектор 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.

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

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

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

Источники

Все записи