CVE-2026-80818
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: iommu/tegra241-cmdqv: Teardown zamanı CMD_SYNC use-after-free xətasının düzəldilməsi arm_smmu_impl_probe() funksiyasında arm_smmu_impl_remove() devres hərəkəti kimi qeydiyyata alınır, daha sonra arm_smmu_init_queues() smmu->cmdq.q.base sahəsini ayırır. Devres geri qaytarma prosesində (istər uğursuz probe, istərsə də unbind zamanı), əvvəlcə növbə azad edilir və sonra arm_smmu_impl_remove() tegra241_cmdqv_remove_vintf() funksiyasını işə salır; bu funksiyanın VINTF deinit prosesi azad edilmiş yaddaşda CMD_SYNC əməliyyatını yerinə yetirir. Bu problem, VCMDQ-nun aktivləşdirilməsini uğursuz edən bir QEMU modifikasiyası ilə sınaqlar zamanı müşahidə edilmişdir; beləliklə, impl sıfırlanması uğursuz olur və probe prosesi dayandırılaraq devres geri qaytarma mərhələsinə keçir: platform NVDA200C:00: tegra241_cmdqv: VINTF0: VCMDQ0/LVCMDQ0: failed to enable, STATUS=0x00000000 platform NVDA200C:00: tegra241_cmdqv: VINTF0: VCMDQ0/LVCMDQ0: GERRORN=0x0, GERROR=0x4, CONS=0x0 platform NVDA200C:00: tegra241_cmdqv: VINTF0: VCMDQ0/LVCMDQ0: uncleared error detected, resetting arm-smmu-v3 arm-smmu-v3.0.auto: failed to reset impl arm-smmu-v3 arm-smmu-v3.0.auto: probe with driver arm-smmu-v3 failed with error -110 Unable to handle kernel paging request at virtual address ffff8000891e0098 ... Internal error: Oops: 0000000096000047 [#1] SMP ... Call trace: arm_smmu_cmdq_issue_cmdlist+0x320/0x6fc (P) tegra241_vcmdq_hw_deinit+0x98/0x168 tegra241_vintf_hw_deinit+0x5c/0x1b0 tegra241_cmdqv_remove_vintf+0x34/0xec tegra241_cmdqv_remove+0x40/0x9c arm_smmu_impl_remove+0x20/0x30 devm_action_release+0x14/0x20 devres_release_all+0xa8/0x110 device_unbind_cleanup+0x18/0x84 really_probe+0x1f0/0x29c Geri qaytarma prosesinin azad edilmiş növbəyə toxunmaması üçün VINTF deinit tegra241_cmdqv_remove_vintf() funksiyasından çıxarılmışdır. Bunun əvəzinə VINTF-lər daha erkən sakitləşdirilir (quiesce). device_disable() impl operatoru əlavə edilmişdir və CMDQ hələ aktiv olduğu müddətdə arm_smmu_disable_action() vasitəsilə işə salınır. Bu, canlı unbind halını tənzimləyir. Uğursuz sıfırlama artıq idarə olunur, çünki tegra241_vintf_hw_init() öz xəta yolunda VINTF-ni deinits edir. tegra241_cmdqv_remove_vintf() həmçinin iommufd viommu destroy yolu tərəfindən istifadə edildiyi üçün orada da sakitləşdirmə tətbiq edilmişdir.
Necə düzəltmək olar
- Linux Linuxd2ab08437e913d9e4dda4dfd0d327446ec8717fc, a94309bb99eaf0c6a2ace4927864486d19458eb5, 5994617e09ee6016c1b094f29d9c85cac944b477, 9ff145a25c5c8a26b06ef7cf558fb536b18bba6d və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < d2ab08437e913d9e4dda4dfd0d327446ec8717fc, 4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < a94309bb99eaf0c6a2ace4927864486d19458eb5, 4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < 5994617e09ee6016c1b094f29d9c85cac944b477, 4dc0d12474f9d4833c3dd96b73d61e406d3f5dc7 ≤ v < 9ff145a25c5c8a26b06ef7cf558fb536b18bba6d, 6.17 | d2ab08437e913d9e4dda4dfd0d327446ec8717fc, a94309bb99eaf0c6a2ace4927864486d19458eb5, 5994617e09ee6016c1b094f29d9c85cac944b477, 9ff145a25c5c8a26b06ef7cf558fb536b18bba6d |
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.
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.