CVE-2026-64365
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: HID: letsketch: sürücü ayırımı (unbind) sırasında inrange_timer üzerinde UAF düzeltmesi letsketch_driver bir .remove geri çağırması sağlamaz ancak letsketch_probe() cihaz başına bir zamanlayıcı kurar: timer_setup(&data->inrange_timer, letsketch_inrange_timeout, 0); Zamanlayıcı, her kalem menzil içi raporunda 100 ms zaman aşımı ile letsketch_raw_event() üzerinden yeniden kurulur ve geri çağırma işlemi sentetik bir BTN_TOOL_PEN bırakma işlemi gerçekleştirmek için data->input_tablet referansını çözer. letsketch_data, devm_kzalloc() ile tahsis edilir ve input_dev alanları letsketch_setup_input_tablet() aracılığıyla devm ile tahsis edilir. Cihaz ayrıldığında (USB çıkarılması veya rmmod), HID çekirdeği varsayılan kaldırma işlemini yürütür ve devm temizliği hem letsketch_data'yı hem de giriş cihazlarını serbest bırakır. Bir .remove geri çağırması mevcut olmadığı için hiçbir şey önce zamanlayıcıyı boşaltmaz: eğer raw_event, ayırmadan yaklaşık 100 ms önce onu kurmuşsa, bekleyen zamanlayıcı serbest bırakılmış bellek üzerinde tetiklenir. Bu durum, data ve data->input_tablet'in ardından serbest bırakılan input_dev içine yapılan input_report_key() / input_sync() çağrılarıyla birlikte bir UAF okumasına yol açar. Aynı sorun probe hata yolunda da meydana gelebilir: eğer hid_hw_start() her zaman sorgulanan (always-poll-quirk) bir cihazda G/Ç'yi etkinleştirip ardından başarısız olursa, devm veriyi serbest bırakmadan önce raw_event zamanlayıcıyı kurmuş olabilir. Önce hid_hw_stop() fonksiyonunu çağıran bir .remove geri çağırması ekleyerek düzeltildi. hid_hw_stop(), raw_event() fonksiyonunu ileten URB'leri senkron olarak sonlandırır, böylece döndüğünde hiçbir yol zamanlayıcıyı yeniden kuramaz. Ardından timer_shutdown_sync(), devam eden herhangi bir geri çağırmayı boşaltır ve sonraki mod_timer() çağrılarını kalıcı olarak devre dışı bırakır. Zamanlayıcının veri ömründen daha uzun sürmeyeceğinin garanti edilmesi için aynı timer_shutdown_sync() işlemi probe hata yoluna uygulandı.
Nasıl düzeltilir
- linux linux_kernel6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 ya da sonraki bir sürüm
- git.kernel.org/stable/c/17f5928d7010bc9e002930326b59e60e40c09ee3
- git.kernel.org/stable/c/2bb6e7143cf70ed281822d26c1848b2897ac36e9
- git.kernel.org/stable/c/3eca1a8165b5e7996e699e9df76cb4645e184d42
- git.kernel.org/stable/c/46c8beeccd8ab2c863827254a85ea877654a3534
- git.kernel.org/stable/c/523db788c0f84612707638e266e8957ca7e3a756
- git.kernel.org/stable/c/df3d8aa1a9392da3de66398e7a03422463806b21
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.17 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4, 7.2 | 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
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.