CVE-2026-99203 in LinuxИнформация

Сводка

по VulDB • 28.10.2026

В ядре Linux была устранена следующая уязвимость:

pipe: сохранение существующих асинхронных читателей при сбое настройки записи

Операции F_SETFL и FIOASYNC определяют, следует ли вызывать ->fasync() до того, как pipe_fasync() захватит mutex канала (pipe->mutex). В результате два включения одного FIFO в режиме O_RDWR могут одновременно попасть в колбэк.

Функция fasync_helper() выделяет память перед проверкой наличия существующей записи. Если первое включение устанавливает обе записи, второе включение может обновить запись для читателя, а затем завершиться ошибкой при выделении памяти для записи для писателя. Путь обработки ошибок удаляет предварительно созданную запись для читателя, очищая флаг FASYNC, в то время как запись для писателя остается зарегистрированной. Затем __fput() пропускает вызов ->fasync(), из-за чего последующее уведомление канала может разыменовать освобожденный файл или его f_owner. Не привилегированный тест на воспроизведение условия конкуренции при давлении на память вызывает KASAN slab-use-after-free в send_sigio() через этот путь.

Сохраняйте результат помощника читателя и отменяйте регистрацию только если данный вызов добавил её. Мьютекс канала (pipe mutex) сериализует изменения обоих списков, поэтому неудачная новая регистрация все равно удаляет своего читателя, а неудачное дублирование сохраняет существующие регистрации и FASYNC. Успешные операции включения с дублированием продолжают обновлять fa_fd как раньше.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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

Linux

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

25.09.2026

Раскрытие

28.10.2026

Модерация

принято

Вход

VDB-427950

EPSS

0.00000

KEV

Нет

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

Низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!