CVE-2022-50401 in LinuxИнформация

Сводка

по VulDB • 21.05.2026

В предоставленном логе ядра Linux наблюдается **kernel panic** (или критическая ошибка, приводящая к остановке системы), вызванная повреждением структуры данных в подсистеме NFS.

### Краткий анализ

1. **Тип ошибки:** `list_add corruption` * Это означает, что ядро пыталось добавить элемент в связный список (`list_head`), но структура списка была уже повреждена. * Конкретная ошибка: `next->prev should be prev (ffff89ac4977e538), but was ffff89ac4763e018`. * Это классический признак **use-after-free**, **double-free** или записи за пределы буфера (buffer overflow) в память, где находятся списки ядра.

2. **Подсистема:** `nfsd` (NFS server) и `sunrpc` * В стеке вызовов (Call Trace) видны функции: * `nfsd4_process_cb_update.isra.11` * `nfsd4_run_cb_work` * `svc_xprt_put` * Ошибка происходит в рабочем потоке (`worker_thread`), который обрабатывает обратные вызовы (callbacks) NFSv4.

3. **Контекст:** * Ошибка возникает при обработке `cb_update` (callback update) в NFSv4. * Поток `nfsd4_run_cb_work` выполняет работу, связанную с обновлением состояния клиента или сервера через обратные вызовы. * В конце стека вызывается `svc_xprt_put`, что указывает на освобождение или уменьшение счетчика ссылок на транспортный объект RPC.

---

### Возможные причины

1. **Баг в ядре Linux (NFS server):** * Наиболее вероятная причина. В коде `nfsd` есть ошибка, приводящая к повреждению памяти. Это может быть связано с гонкой (race condition) при обработке обратных вызовов NFSv4. * Особенно актуально для старых версий ядра (до ~5.15–6.1), где были исправлены многие проблемы с NFSv4 callbacks.

2. **Повреждение памяти (Hardware/Driver):** * Реже, но возможно: неисправная оперативная память (RAM) или драйвер сетевого интерфейса, который записывает данные в неправильную область памяти.

3. **Коррупция данных от клиента:** * Клиент NFS отправляет некорректные или поврежденные данные в поле callback, что приводит к неопределенному поведению на сервере.

---

### Рекомендации по устранению

#### 1. Обновите ядро Это **самое важное**. Ошибки в `nfsd` и `sunrpc` часто исправляются в новых версиях ядра. * Если вы используете старое ядро (например, 4.x или ранние 5.x), обновитесь до последней стабильной версии (5.15+, 6.1+, 6.6+). * Проверьте changelog ядра на наличие исправлений для `nfsd`, `sunrpc`, `list corruption`, `callback`.

#### 2. Отключите NFSv4 callbacks (временное решение) Если обновление ядра невозможно, можно попробовать отключить использование обратных вызовов NFSv4, что снизит нагрузку на этот подсистему и может избежать ошибки.

Добавьте параметр ядра: ```bash nfsd.callback_enabled=0 ``` Или в `/etc/modprobe.d/nfsd.conf`: ``` options nfsd callback_enabled=0 ``` *Примечание: Это может повлиять на производительность и некоторые функции NFSv4 (например, lock delegation), но повысит стабильность.*

#### 3. Проверьте целостность памяти Запустите тест памяти: ```bash memtest86+ ``` или ```bash stress-ng --vm 2 --vm-bytes 50% --timeout 60s ``` Убедитесь, что ошибка не связана с аппаратными сбоями RAM.

#### 4. Проверьте логи клиента NFS Посмотрите, какие клиенты NFS подключены к серверу. Возможно, один из клиентов отправляет некорректные запросы. Попробуйте временно отключить подозрительные клиенты.

#### 5. Собирайте дополнительную информацию Если ошибка повторяется, соберите:

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Ответственный

Linux

Резервировать

17.09.2025

Раскрытие

18.09.2025

Модерация

принято

Вход

VDB-324898

EPSS

0.00402

KEV

Нет

Деятельности

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!