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

Сводка

по VulDB • 21.06.2026

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

fs/notify: вызов exportfs_encode_fid с s_umount

Вызов inotify_show_fdinfo() для файлового дескриптора, отслеживающего inode overlayfs, в момент размонтирования overlayfs может привести к разыменованию нулевого указателя (NULL ptr).

Эта проблема была обнаружена с помощью syzkaller.

Диаграмма состояния гонки (Race Condition):

Поток 1 Поток 2 -------- --------

generic_shutdown_super() shrink_dcache_for_umount sb->s_root = NULL

| | vfs_read() | inotify_fdinfo() | * получение inode из метки (mark) * | show_mark_fhandle(m, inode) | exportfs_encode_fid(inode, ..) | ovl_encode_fh(inode, ..) | ovl_check_encode_origin(inode) | * разыменование i_sb->s_root * | | v fsnotify_sb_delete(sb)

Что в свою очередь приводит к:

[ 32.133461] Oops: general protection fault, вероятно, для неканонического адреса 0xdffffc0000000006: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI
[ 32.134438] KASAN: null-ptr-deref в диапазоне [0x0000000000000030-0x0000000000000037]
[ 32.135032] CPU: 1 UID: 0 PID: 4468 Comm: systemd-coredum Не затронуто (Not tainted) 6.17.0-rc6 #22 PREEMPT(none)

<обрезаны регистры, ненадежный трейс>

[ 32.143353] Call Trace:
[ 32.143732] ovl_encode_fh+0xd5/0x170
[ 32.144031] exportfs_encode_inode_fh+0x12f/0x300
[ 32.144425] show_mark_fhandle+0xbe/0x1f0
[ 32.145805] inotify_fdinfo+0x226/0x2d0
[ 32.146442] inotify_show_fdinfo+0x1c5/0x350
[ 32.147168] seq_show+0x530/0x6f0
[ 32.147449] seq_read_iter+0x503/0x12a0
[ 32.148419] seq_read+0x31f/0x410
[ 32.150714] vfs_read+0x1f0/0x9e0
[ 32.152297] ksys_read+0x125/0x240

То есть ovl_check_encode_origin разыменовывает inode->i_sb->s_root после того, как он был установлен в NULL в пути размонтирования.

Исправление заключается в защите вызова exportfs_encode_fid() из show_mark_fhandle() с использованием блокировки s_umount.

Эта форма исправления была предложена Amir в [1].

[1]: https://lore.kernel.org/all/CAOQ4uxhbDwhb+2Brs1UdkoF0a3NSdBAOQPNfEHjahrgoKJpLEw@mail.gmail.com/

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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

Linux

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

16.04.2025

Раскрытие

04.12.2025

Модерация

принято

Вход

VDB-334290

EPSS

0.00178

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!