CVE-2026-23114
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: arm64/fpsimd: ptrace: SME desteklemeyen sistemlerde SVE yazmalarının düzeltilmesi SVE desteklendiği ancak SME'nin desteklenmediği durumlarda, NT_ARM_SVE regset'ine yapılan bir ptrace yazımı; (akış dışı/non-streaming) SVE kayıt verilerinin FP_STATE_SVE formatında saklandığı ancak TIF_SVE bayrağının temiz olduğu geçersiz bir durumda izlenen işlemin (tracee) yer almasına neden olabilir. Bu durum, daha sonra fpsimd_restore_current_state() fonksiyonundan şu şekilde bir uyarı gelmesine yol açabilir: WARNING: CPU: 0 PID: 7214 at arch/arm64/kernel/fpsimd.c:383 fpsimd_restore_current_state+0x50c/0x748 Bu gerçekleştiğinde, fpsimd_restore_current_state() TIF_SVE bayrağını ayarlayarak görevi doğru duruma getirir. Diğer TIF_SVE kontrolleri yalnızca FPSIMD/SVE/SME durumu aktifken gerçekleştiğinden, bu işlem herhangi bir başka TIF_SVE kontrolünden önce meydana gelir. Bu nedenle, uyarının dışında işlevsel bir sorun yoktur. Bu hata, şu commit sırasındaki hata yönetimi yeniden düzenlemesi sırasında ortaya çıkmıştır: 9f8bf718f2923 ("arm64/fpsimd: ptrace: Gracefully handle errors") Burada TIF_SVE ayarlanması, yalnızca system_supports_sme() true olduğunda yürütülen bir bloğun içine taşınmıştır. Bu durum, system_supports_sme() kontrolü kaldırılarak düzeltilmiştir. Bu sayede, izlenen işlemin kaydedilmiş svcr değerinin koşulsuz olarak manipüle edilmesi pahasına, NT_ARM_SVE'ye yapılan (SVE formatlı) yazımlar için TIF_SVE'nin ayarlanması sağlanır. svcr manipülasyonu zararsız ve düşük maliyetlidir; benzer işlemler halihazırda başka yerlerde de (örneğin sinyal işleme sırasında) yapıldığından, bunu system_supports_sme() kontrolleriyle korumanın gerekli olmadığı değerlendirilmiştir. Yukarıdakiler dışında herhangi bir işlevsel değişiklik yoktur. sve_set_common() fonksiyonuna iletilen 'type' argümanı, yalnızca system_supports_sme() durumunda (ssve_set() içinde) ARM64_VEC_SME olarak ayarlanır; dolayısıyla switch ifadesindeki ARM64_VEC_SME durumu, !system_supports_sme() durumunda hala erişilemezdir. CONFIG_ARM64_SME=n olduğunda, sve_set_common()'ın tek çağırıcısı sve_set() fonksiyonudur ve derleyici, type değerinin ARM64_VEC_SVE olduğu durum için sabit katlama (constant-folding) yaparak diğer durumların mantığını kaldırabilir.
Nasıl düzeltilir
- linux linux_kernel6.18.8 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.16 ≤ v < 6.18.8, 6.19 | 6.18.8 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.