CVE-2025-37904

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: btrfs: btrfs_iget() funksiyasındakı inode sızmasının düzəldilməsi [BUG] Syzbot reproduserinin unmount zamanı aşağıdakı məşğul inode vəziyyətinə səbəb ola biləcəyinə dair xəta hesabatı mövcuddur: BTRFS info (device loop1): last unmount of filesystem 1680000e-3c1e-4c46-84b6-56bd3909af50 VFS: Busy inodes after unmount of loop1 (btrfs) ------------[ cut here ]------------ kernel BUG at fs/super.c:650! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 48168 Comm: syz-executor Not tainted 6.15.0-rc2-00471-g119009db2674 #2 PREEMPT(full) Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:generic_shutdown_super+0x2e9/0x390 fs/super.c:650 Call Trace: <TASK> kill_anon_super+0x3a/0x60 fs/super.c:1237 btrfs_kill_super+0x3b/0x50 fs/btrfs/super.c:2099 deactivate_locked_super+0xbe/0x1a0 fs/super.c:473 deactivate_super fs/super.c:506 [inline] deactivate_super+0xe2/0x100 fs/super.c:502 cleanup_mnt+0x21f/0x440 fs/namespace.c:1435 task_work_run+0x14d/0x240 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x269/0x290 kernel/entry/common.c:218 do_syscall_64+0xd4/0x250 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> [SƏBƏB] btrfs_alloc_path() uğursuz olduqda, btrfs_iget() funksiyası btrfs_iget_locked() tərəfindən artıq ayrılmış inode-u azad etmədən birbaşa geri dönürdü. Bu, yuxarıda qeyd olunan məşğul inode vəziyyətinə gətirib çıxarır və kernel BUG xətasını tetikləyir. [DÜZƏLİŞ] btrfs_alloc_path() uğursuz olduqda iget_failed() funksiyasını çağırmaqla bu problem həll edilmişdir. btrfs_read_locked_inode() daxilində xəta baş verdikdə, iget_failed() düzgün şəkildə çağırılacaq, buna görə də narahatlığa əsas yoxdur. btrfs_read_locked_inode() daxilindəki iget_failed() təmizləməsi normal xəta idarəetmə sxemindən kənardır, lakin əvvəlcə aşkar xətanın düzəldilməsi və backport edilməsi, daha sonra isə xəta idarəetməsinin yenidən işlənməsi nəzərdə tutulmuşdur.

CiddilikOrta
CVSS5.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc20 may 2025
İlk görülmə20 may 2025

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.14.6 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.13 ≤ v < 6.14.6, 6.156.14.6

Versiyanızı yoxlayın

Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.

Intelligence 360 paketində

Attack Surface Management

Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.

CVE-2025-37904 · Linux Kernel · Dark Radar