Към съдържанието

CVE-2026-98507: Linux

7.8

CVSS 3.1

Няма данни

Вероятност да бъде експлоатирана в следващите 30 дни (EPSS)

Няма потвърждение

Атакува се

Няма данни

Време до експлоатация

Атакува се локално, без особени условия, с обикновен потребителски вход и без действие от потребителя.

    Описание

    Оригинално описание

    In the Linux kernel, the following vulnerability has been resolved: mm/rmap: fix missing barrier between anon_vma init and vma->anon_vma publish On arm64 server, we find that a task trying to grab the anon_vma lock triggers hungtask. INFO: task main:2354726 blocked for more than 120 seconds. Tainted: G E 5.10.0-0021.aarch64 #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:main state:D stack: 0 pid:2354726 ppid:2350673 flags:0x00000a01 Call trace: __switch_to+0x7c/0xbc __schedule+0x3b4/0x8a0 schedule+0x50/0xe0 rwsem_down_write_slowpath+0x3cc/0x6cc down_write+0x60/0x260 __anon_vma_prepare+0x6c/0x210 do_anonymous_page+0x258/0x660 handle_pte_fault+0x188/0x214 __handle_mm_fault+0x1b0/0x380 handle_mm_fault+0xf4/0x284 do_page_fault+0x19c/0x494 do_translation_fault+0xcc/0xf8 do_mem_abort+0x48/0xac el0_da+0x44/0x80 el0_sync_handler+0x88/0xb4 el0_sync+0x160/0x180 After analyzing the vmcore, we found the anon_vma->root->rwsem.count is -1. There is another anon_vma whose anon_vma->root->rwsem.count is 1, the anon_vma->root->rwsem.owner shows the lock is held, but the stack of the task shows the task doesn't hold the anon_vma lock. After adding more debugging info, we found __anon_vma_prepare() reuses anon_vma and triggers the UAF of anon_vma->root due to missing memory barrier, leading to locking and unlocking two different anon_vma->root, thus leading to an anon_vma will never be unlocked, and another anon_vma couldn't be locked anymore. This race requires two adjacent VMAs that are not merged but are anon_vma-compatible (e.g., they differ in VMA_ACCESS_FLAGS that can be changed by mprotect()). Two threads fault on each VMA concurrently, both calling __anon_vma_prepare() with only mmap_lock held for reading. THREAD A THREAD B __anon_vma_prepare __anon_vma_prepare find_mergeable_anon_vma() -> NULL anon_vma = anon_vma_alloc(); anon_vma-

    Засегнати продукти

    • Linux Linux: 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди badedec499f6320742368c73fa77cd63dcf8ca55; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди aef0f69b515af1c8a4147f68a46b6b81854f46f7; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди 7d103fc7b836084af585d9d3471334624354cf26; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди 465e222815c8839445d09028fa4c77e70f7f1c7d; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди a500df43cde075f6ea4b8bae495d89f2c35b3e16; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди 4cef512a955e4008ae4436a4fc97726976df1fdf; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди d348a715380bfcc6a611bdf722169d53fd01e735; 5c341ee1dfc8fe69d66b1c8b19e463c6d7201ae1 преди b6ac0b3f6013c168f22cad97e79967accacb08e1
    • Linux Linux: 2.6.36; преди 2.6.36; 5.10.273 до 5.10.*; 5.15.224 до 5.15.*; 6.1.191 до 6.1.*; 6.6.160 до 6.6.*; 6.12.112 до 6.12.*; 6.18.55 до 6.18.*; 7.2.9 до 7.2.*; от 7.3 нататък

    История

    • 18 октомври 2026 Публикувано

    Други уязвимости в Linux Linux

    Първоизточници

    CVE-2026-98507: Linux | freedomonline.bg