CVE-2023-53286 in LinuxИнформация

Сводка

по VulDB • 25.05.2026

В предоставленном дампе ядра Linux (oops/panic trace) видно, что произошел сбой в подсистеме InfiniBand, а именно в модуле `ib_uverbs`.

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

1. **Ошибка:** Краш ядра (Kernel Oops/Panic) в функции `ib_uverbs_close`. 2. **Контекст:** Ошибка произошла при закрытии файлового дескриптора (`close` syscall), связанного с устройством InfiniBand User Verbs. 3. **Причина:** Скорее всего, это **use-after-free** или **null pointer dereference** внутри драйвера InfiniBand при попытке закрыть устройство, которое уже было частично освобождено или находится в некорректном состоянии. 4. **Вероятный виновник:** Драйвер InfiniBand (например, `mlx5_core`, `irdma`, `bnxt_re` и т.д.), который использует `ib_uverbs`.

---

### Детальный разбор стека вызовов

``` Call Trace: <TASK> ib_uverbs_close+0x1a/0x90 [ib_uverbs] <-- Ошибка здесь
__fput+0x82/0x230 <-- Освобождение файловых структур task_work_run+0x59/0x90 exit_to_user_mode_prepare+0x138/0x140 syscall_exit_to_user_mode+0x1d/0x50 ? __x64_sys_close+0xe/0x40 <-- Системный вызов close() do_syscall_64+0x4a/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae ```

- **`ib_uverbs_close`**: Это функция в модуле `ib_uverbs.ko`, которая обрабатывает закрытие файла `/dev/infiniband/...`. - **`__fput`**: Вызывается ядром при освобождении структуры `file` (когда счетчик ссылок на файл достигает нуля). - **`__x64_sys_close`**: Пользовательское приложение вызвало системный вызов `close(fd)`.

---

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

1. **Баг в драйвере InfiniBand:** - Драйвер (например, Mellanox `mlx5`, Intel `irdma`, Broadcom `bnxt_re`) мог оставить неинициализированный указатель или освободить память, на которую ссылается `ib_uverbs`. - Это часто случается при горячей замене (hot-unplug) устройства или при ошибке инициализации.

2. **Конкуренция (Race Condition):** - Приложение закрыло файл, в то время как другой поток или прерывание все еще работало с этим устройством.

3. **Повреждение памяти:** - Если есть другие ошибки в системе (например, corruption heap), это могло привести к некорректному указателю в структуре `ib_uverbs_file`.

---

### Что делать?

#### 1. Определите драйвер InfiniBand Посмотрите, какой драйвер используется: ```bash lsmod | grep ib_ # или dmesg | grep -i infiniband ``` Часто это `mlx5_core`, `irdma`, `bnxt_re`, `cxgb4i` и т.д.

#### 2. Проверьте версию ядра и драйвера - Если вы используете старое ядро, возможно, это известный баг, исправленный в более новых версиях. - Проверьте [bugzilla.redhat.com](https://bugzilla.redhat.com/) или [kernel.org](https://bugzilla.kernel.org/) по ключевым словам: `ib_uverbs_close crash`, `infiniband use-after-free`.

#### 3. Временное решение - **Отключите InfiniBand**, если он не критичен: ```bash modprobe -r ib_uverbs modprobe -r <driver_name> # например, mlx5_core ``` - Или добавьте параметр ядра `rdma.nofallback=1` (если применимо), чтобы избежать использования некоторых уязвимых путей.

#### 4. Сбор дополнительной информации - Посмотрите полный вывод `dmesg` перед крашем — там может быть больше контекста (например, ошибки инициализации устройства). - Если это воспроизводимая ошибка, соберите дамп памяти (kdump) и проанализируйте его с помощью `crash`.

---

### Пример исправления (

Once again VulDB remains the best source for vulnerability data.

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

Linux

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

16.09.2025

Раскрытие

16.09.2025

Модерация

принято

Вход

VDB-324355

EPSS

0.00153

KEV

Нет

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

Очень низкий

Источники

Want to know what is going to be exploited?

We predict KEV entries!