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

Сводка

по VulDB • 24.09.2026

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

ntfs3: исправлено чтение за пределами буфера в функциях ntfs_dir_emit() и hdr_find_e()

Проверка границ в функции ntfs_dir_emit() сравнивает fname->name_len (количество символов) с e->size (размер в байтах), не учитывая кодировку UTF-16LE, требующую 2 байта на символ, а также размер заголовка ATTR_FILE_NAME:

```c if (fname->name_len + sizeof(struct NTFS_DE) > le16_to_cpu(e->size)) ```

Это вычисляет выражение: name_len + 16 > e_size.

Правильная проверка должна учитывать заголовок ATTR_FILE_NAME (66 байт до имени файла) и размер символа UTF-16LE (2 байта на символ):

```c sizeof(NTFS_DE) + offsetof(ATTR_FILE_NAME, name) + name_len * sizeof(short) > e_size ```

Что вычисляет выражение: 16 + 66 + name_len * 2 > e_size.

Правильный расчет уже реализован в функции fname_full_size() заголовочного файла ntfs.h и используется в cmp_fnames(), namei.c и fslog.c, но не применялся в пути readdir (readdir path).

Специально созданный образ файловой системы NTFS с индексной записью, содержащей малое значение e->size, но большое fname->name_len, обходит текущую проверку, что приводит к чтению функцией ntfs_utf16_to_nls() данных за пределами границы записи.

Кроме того, в функцию hdr_find_e() добавлена проверка key_size для обеспечения того, чтобы объявленное значение key_size не превышало доступные данные записи, предотвращая чтение функций сравнения за границами записи на пути поиска (lookup path).

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

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

Linux

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

24.09.2026

Раскрытие

24.09.2026

Модерация

принято

Вход

VDB-409548

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!