CVE-2026-63813

Yüksək

Təsvir

Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: "f2fs: move_data_block-da səhifə keşindən aktual olmayan folio-nu sil" commit-i geri qaytarılır Bu, 9609dd704725a40cd63d915f2ab6c44248a44598 commit-ini geri qaytarır. Kernel panikləri, xüsusən f2fs bölməsi demək olar ki, dolduqda, bildirilməyə davam edir. Araşdırma nəticəsində müəyyən etdik ki, səbəb bir f2fs səhifəsinin LRU-dan silinmədən buddy-ə azad edilməsidir və əsas səbəb bu commit tərəfindən tətbiq edilən [2]-də baş verən yarışdır. Bu ssenaridə 3 yarışan proses var, onların əsas fəaliyyətləri aşağıda göstərilib. move_data_block()-da dəyişdirilmiş kod GC yolunun folio_end_dropbehind() vasitəsilə səhifə keşindən sondakı folio-nu çıxarmasına imkan verir. folio_unmap_invalidate() folio-nu mapping->i_pages-dən çıxardıqdan sonra folio-dakı bütün səhifələr üçün səhifə keşi istinadları buraxılır. Sonra folio yalnız müvəqqəti xarici istinadlarla həyatda saxlanılır ki, bu da sonrakı parçalanmanın alt səhifələri artıq səhifə keşi istinadları ilə qorunmayan folio üzərində işləməsinə imkan verir. Səhifə keşi istinadları getdikdən sonra split_folio_to_order() böyük folio-nu ayrı-ayrı səhifələrə parçalaya və yaranan alt səhifələri yenidən LRU-ya qaytara bilər. EOF-dan sonrakı quyruq səhifələri üçün parçalanma onları səhifə keşindən silir və onların səhifə keşi istinadlarını buraxır. Sonra quyruq səhifə PG_lru qurulmuş halda LRU-da qala bilər, halbuki yalnız parçalayan çağıranın müvəqqəti istinadını saxlayır. free_folio_and_swap_cache() bu son istinadı buraxdıqda, səhifə son folio_put() buraxma yoluna daxil olur. Paralel olaraq, folio_isolate_lru() eyni quyruq səhifəni sıfırdan fərqli refcount və qurulmuş PG_lru ilə müşahidə edə bilər. O, öz istinadını götürməzdən əvvəl PG_lru-nu təmizləyir. Əgər bu, parçalanma yolundan gələn son folio_put() ilə yarışarsa, __folio_put() PG_lru-nun artıq təmizləndiyini görür və lruvec_del_folio()-nu atlayır. Sonra səhifə ayırıcıya azad edilir, halbuki onun lru bağlantıları hələ də LRU siyahısında mövcuddur. Sonrakı LRU əməliyyatı qonşu səhifədə köhnəlmiş bağlantını aşkar edir və siyahı korrupsiyası barədə məlumat verir. [1] [ 22.486082] list_del corruption. next->prev should be fffffffec10e0ac8, but was dead000000000122. (next=fffffffec10e0a88) [ 22.486130] ------------[ cut here ]------------ [ 22.486134] kernel BUG at lib/list_debug.c:67! [ 22.486141] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP [ 22.488502] Tainted: [W]=WARN, [O]=OOT_MODULE [ 22.488506] Hardware name: Spreadtrum UMS9230 1H10 SoC (DT) [ 22.488511] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 22.488517] pc : __list_del_entry_valid_or_report+0x14c/0x154 [ 22.488531] lr : __list_del_entry_valid_or_report+0x14c/0x154 [ 22.488539] sp : ffffffc08006b830 [ 22.488542] x29: ffffffc08006b868 x28: 0000000000003020 x27: 0000000000000000 [ 22.488553] x26: 0000000000000000 x25: 0000000000000004 x24: fffffffec10e0ac0 [ 22.488564] x23: 00000000000000e8 x22: 0000000000000024 x21: dead000000000122 [ 22.488574] x20: fffffffec10e0a88 x19: fffffffec10e0ac8 x18: ffffffc080061060 [ 22.488585] x17: 20747562202c3863 x16: 6130653031636566 x15: 0000000000000058 [ 22.488595] x14: 0000000000000004 x13: ffffff80f91e0000 x12: 0000000000000003 [ 22.488605] x11: 0000000000000003 x10: 0000000000000001 x9 : ffe85721f0e25f00 [ 22.488615] x8 : ffe85721f0e25f00 x7 : 0000000000000000 x6 : 6c65645f7473696c [ 22.488625] x5 : ffffffed39b23026 x4 : 0000000000000000 x3 : 0000000000000010 [ 22.488636] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 000000000000006d [ 22.488647] Call trace: [ 22.488651] __list_del_entry_valid_or_report+0x14c/0x154 (P) [ 22.488661] __folio_put+0x2bc/0x434 [ 22.488670] folio_put+0x28/0x58 [ 22.488678] do_garbage_collect+0x1a34/0x2584 [ 22.488689] f2fs_gc+0x230/0x9b4 [ 22.488697] f2fs_fallocate+0xb90/0xdf4 [ 22.488706] vfs_fallocate+0x1b4/0x2bc [ 22.488716] __arm64_sys_fallocate+0x44/0x78 [ 22.488725] invoke_syscall+0x58/0xe4 [ 22.488732] do_el0_svc+0x48/0xdc [ 22.488739] el0 ---kəsilmiş---

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux
Dərc19 iyl 2026
İlk görülmə19 iyl 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linux1991d49433e90b2202de2fe90be3c24161873d7c, 6e035dae44154af4dd7bdb8ef7a1118c0b5f17b6, ccaba785821970f422c47770331c7e3271763f17 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linux5a4d3968cf820686400fc757a4512dcaddd84846 ≤ v < 1991d49433e90b2202de2fe90be3c24161873d7c, 9609dd704725a40cd63d915f2ab6c44248a44598 ≤ v < 6e035dae44154af4dd7bdb8ef7a1118c0b5f17b6, 9609dd704725a40cd63d915f2ab6c44248a44598 ≤ v < ccaba785821970f422c47770331c7e3271763f17, 7.01991d49433e90b2202de2fe90be3c24161873d7c, 6e035dae44154af4dd7bdb8ef7a1118c0b5f17b6, ccaba785821970f422c47770331c7e3271763f17

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-2026-63813 · Linux · Dark Radar