CVE-2026-74357

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: drm/amdgpu: amdgpu_coredump ring dump funksiyasında KASAN slab-out-of-bounds xətası düzəldildi amdgpu_coredump() funksiyasındakı ring məzmununun dump edilməsi adev->rings[] üzərində iki ayrı dövrdən istifadə edir: birinci dövr yaddaş ayırmanın ölçüsünü təyin etmək üçün siqnallaşdırılmamış fence-ləri olan ring-ləri sayır, ikinci dövr isə ring məlumatlarını ayrılmış buferlərə kopyalayır. Hər iki dövr ring-ləri ötürmək üçün eyni şərtlərdən istifadə edir: atomic_read(&ring->fence_drv.last_seq) == ring->fence_drv.sync_seq last_seq dəyişəni fence siqnallaşdırma yolu tərəfindən eyni vaxtda yenilənən bir atomic olduğu üçün, birinci dövr zamanı siqnallaşdırılan bəzi ring-lər ikinci dövrdə siqnallaşdırılmamış kimi görünə bilər. Bu baş verdikdə, idx dəyişəni ayrılmış ring_count dəyərini aşır və coredump->rings[idx] ünvanına yazma əməliyyatı kcalloc ilə ayrılmış buferin sonundan kənara yazılır. Bu problem, təsadüfi GPU sıfırlamalarını tetikləyən IGT stress testi amd_queue_reset zamanı aşkar edilmişdir. OVERSIZE alt-testi (GFX ring-də CMD_STREAM_EXEC_INVALID_PACKET_LENGTH_OVERSIZE) ring taymautuna və ardınca coredump prosesinə səbəb olur ki, bu da sayma və kopyalama dövrləri arasındakı yarış vəziyyətini (race condition) ortaya çıxarır. Xəta qeyri-deterministikdir və sıfırlama zamanı fence siqnallaşdırma tayminqindən asılıdır. KASAN loqu: BUG: KASAN: slab-out-of-bounds in amdgpu_coredump+0x1274/0x12f0 [amdgpu] Write of size 4 at addr ffff888106154258 by task kworker/u128:5/23625 CPU: 16 UID: 0 PID: 23625 Comm: kworker/u128:5 Not tainted 6.19.0+ #35 Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] Call Trace: <TASK> dump_stack_lvl+0xa5/0x110 print_report+0xd1/0x660 kasan_report+0xf3/0x130 __asan_report_store4_noabort+0x17/0x30 amdgpu_coredump+0x1274/0x12f0 [amdgpu] amdgpu_job_timedout+0xef0/0x16c0 [amdgpu] drm_sched_job_timedout+0x194/0x5c0 [gpu_sched] process_one_work+0x84b/0x1990 worker_thread+0x6b8/0x11b0 </TASK> Allocated by task 23625: kasan_save_stack+0x39/0x70 __kasan_kmalloc+0xc3/0xd0 __kmalloc_noprof+0x2ec/0x910 amdgpu_coredump+0x5c5/0x12f0 [amdgpu] amdgpu_job_timedout+0xef0/0x16c0 [amdgpu] The buggy address belongs to the object at ffff888106154200 which belongs to the cache kmalloc-rnd-09-96 of size 96 The buggy address is located 16 bytes to the right of allocated 72-byte region [ffff888106154200, ffff888106154248) 72 bayt = 3 * sizeof(struct amdgpu_coredump_ring), beləliklə ring_count 3 idi, lakin idx 3+ dəyərinə çatdı və ring_index (struktur offset 16-da) ayrılmış sahədən 16 bayt kənara yazıldı. Problem, kopyalama dövrünə idx < ring_count mühafizə şərti əlavə edilməklə həll edilmişdir; beləliklə, iki keçid arasında fence vəziyyəti dəyişdikdə belə, ayrılmış say limiti aşılmayacaqdır.

CiddilikYüksək
CVSS7.8
İstismar ehtimalı—
MəhsulLinux
Dərc15 avq 2026
İlk görülmə15 avq 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linuxefb1dadaeb897b22b9e118d398d0f41e70e9ccca, 08ac3a7879d300302a1927ce2038629539a37f8b və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxeea85914d15bfe3bdf9f8f80a479f0dee0aa7d73 ≤ v < efb1dadaeb897b22b9e118d398d0f41e70e9ccca, eea85914d15bfe3bdf9f8f80a479f0dee0aa7d73 ≤ v < 08ac3a7879d300302a1927ce2038629539a37f8b, 7.1efb1dadaeb897b22b9e118d398d0f41e70e9ccca, 08ac3a7879d300302a1927ce2038629539a37f8b

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