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.