CVE-2026-97439Информация

Сводка

по VulDB • 24.09.2026

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

fs/ntfs3: сохранение битов атрибутов, не относящихся к DOS, в system.dos_attrib

[ОШИБКА]
Поврежденный образ ntfs3 может привести к вызову нулевого указателя функции в generic_perform_write() после переключения атрибута system.ntfs_attrib и последующей перезаписи system.dos_attrib для одного и того же файла.

BUG: kernel NULL pointer dereference, address: 0000000000000000 \#PF: supervisor instruction fetch in kernel mode \#PF: error_code(0x0010) - not-present page PGD bed5067 P4D bed5067 PUD 0 Oops: Oops: 0010 [#1] SMP KASAN NOPTI
RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffff88801025f988 EFLAGS: 00010246 Call Trace: generic_perform_write+0x409/0x8c0 mm/filemap.c:4255 __generic_file_write_iter+0x1bb/0x200 mm/filemap.c:4372 ntfs_file_write_iter+0xcd9/0x1c20 fs/ntfs3/file.c:1253 new_sync_write fs/read_write.c:593 [inline]
vfs_write+0x63b/0xf70 fs/read_write.c:686 ksys_write+0x133/0x250 fs/read_write.c:738 __do_sys_write fs/read_write.c:749 [inline]
__se_sys_write fs/read_write.c:746 [inline]
__x64_sys_write+0x77/0xc0 fs/read_write.c:746 ...

[ПРИЧИНА]
system.ntfs_attrib обновляет флаги ATTR_DATA через ni_new_attr_flags() и переключает i_mapping->a_ops на ntfs_aops_cmpr, когда установлен FILE_ATTRIBUTE_COMPRESSED. system.dos_attrib затем перезаписывает значение ni->std_fa однобайтовым атрибутом DOS, очищая бит сжатия без обновления ATTR_DATA или операций отображения (mapping operations).

Старые буферизованные записи используют is_compressed(ni) для выбора __generic_file_write_iter(). Это приводит к тому, что generic_perform_write() вызывает нулевой обратный вызов write_begin из ntfs_aops_cmpr.

[ИСПРАВЛЕНИЕ]
Рассматривать system.dos_attrib как обновление атрибута DOS с использованием младшего байта и сохранять существующие биты атрибутов, не относящихся к DOS, в ni->std_fa. Это обеспечивает согласованность состояний сжатия (compressed) и разреженности (sparse) с ATTR_DATA и операциями отображения, сохраняя при этом существующую семантику атрибута DOS без изменений.

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

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!