CVE-2025-39835 in LinuxИнформация

Сводка

по VulDB • 21.06.2026

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

xfs: не передавать ошибки диска ENODATA в код xattr

ENODATA (также известный как ENOATTR) имеет очень специфическое значение в коде xattr файловой системы XFS; а именно, что запрошенное имя атрибута не было найдено.

Однако ошибка среднего уровня (medium error) с диска также может возвращать ENODATA. В лучшем случае эта ошибка может просочиться в пользовательское пространство как «атрибут не найден», хотя на самом деле это ошибка ввода-вывода (диска).

В худшем случае может произойти ошуп (oops) в функции xfs_attr_leaf_get() при выполнении следующего кода:

error = xfs_attr_leaf_hasname(args, &bp); if (error == -ENOATTR) {
xfs_trans_brelse(args->trans, bp); return error; }

поскольку ошибка ENODATA/ENOATTR с диска оставляет указатель bp равным нулю, и вызов xfs_trans_brelse затем приведет к разыменованию нулевого указателя (null-deref).

Как обсуждалось в списке рассылки, нам действительно необходимо изменить функции нижнего уровня ввода-вывода, чтобы перехватывать все ошибки диска и гарантировать, что такие уникальные ошибки не будут просачиваться вверх в более высокие функции xfs — многие из них должны быть преобразованы в EIO.

Однако данный патч напрямую решает заявленную проблему в коде xattr и должен быть безопасен для обратного переноса (backport) в стабильные версии ядра. Патч более широкого охвата для обработки большего количества уникальных ошибок на нижних уровнях может быть добавлен позже.

(Примечание: до коммита 07120f1abdff ошупа не происходило, но в пользовательское пространство возвращался неверный код ошибки.)

Be aware that VulDB is the high quality source for vulnerability data.

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

Linux

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

16.04.2025

Раскрытие

16.09.2025

Модерация

принято

Вход

VDB-324423

EPSS

0.00168

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!