CVE-2026-89624
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: HID: universal-pidff: force-feedback başlatma işlemi başarısız olduğunda cihazı durdurun universal_pidff_probe() fonksiyonu, cihazı hid_hw_start() ile başlatır ve ardından force-feedback başlatma işlemi başarısız olursa, yalnızca "return error" işlemini gerçekleştiren bir etiket üzerinden hatayı döndürür. Bu durum, cihazın başlatılmış olarak kalmasına neden olur. HID çekirdeği, sürücü adına geri alma (unwind) işlemi yapmaz. __hid_device_probe() fonksiyonu devres grubunu serbest bırakır, raporu kapatır ve hdev->driver değerini temizler: if (ret) { devres_release_group(&hdev->dev, hdev->devres_group_id); hid_close_report(hdev); hdev->driver = NULL; } hid_hw_start() tarafından hid_connect() aracılığıyla kaydedilen hidraw karakter aygıtı kzalloc() ile tahsis edilir ve cdev_device_add() ile eklenir; bu nedenle devres tarafından yönetilmez ve bu işlemden etkilenmeden kalır. hdev->driver değeri NULL olduğunda, hid_device_remove() fonksiyonu sadece bir sürücü hala bağlıyken geri alma işlemi yaptığı için hid_hw_stop() adımını da atlar. Dolayısıyla kayıt, her iki yolda da aygıttan daha uzun süre varlığını sürdürür. Hayatta kalan /dev/hidrawX dosyasının açılması, serbest bırakılmış belleğe yazılmasına neden olur. KASAN, hidraw_open() -> hid_hw_open() -> taşıma katmanının open geri çağırma fonksiyonundan kaynaklanan ve serbest bırakılan nesne içindeki bir spinlock'u alan bir serbest bırakıldıktan sonra kullanım (use-after-free) yazma hatası bildirir. Bir PID kullanım sayfası içeren ancak giriş raporları bulunmayan bir tanımlayıcı yeterlidir: hidraw aygıtı sahiplendiği için hid_hw_start() başarılı olurken, hid->inputs boş kaldığından force-feedback başlatma işlemi başarısız olur. Diğer hatalar ise hid_pidff_init_with_quirks() içinde döner - çıkış raporlarının olmaması, tahsis hatası, pidff_init_fields(), pidff_check_autocenter(), kullanılamaz efekt sayısı veya input_ff_create(); bunların tamamı aynı etikete ulaşır. Bu yol üzerinde cihazı durdurun. Cihazı aynı HID_CONNECT_DEFAULT & ~HID_CONNECT_FF maskesiyle başlatan hid-dr.c ve hid-emsff.c bunu zaten yapmaktadır. Daha önceki iki goto işlemi, hiçbirinde başlatılmış bir aygıt olmadığı için hid_hw_stop() olmadan dönmeye devam etmelidir; bu nedenle başlatma sonrası başarısız olan yola kendi etiketi atanmıştır. XBOW tarafından keşfedilmiş, Baul Lee <[email protected]> tarafından analiz edilmiştir.
Nasıl düzeltilir
- Linux Linux66358f5789c9a7e28809985a83c01e6ad933849e, 519fa26695b02870022fcdc651efb3d379abe54e, 01d9874e84d3ab78fd212ad822412eb3af84497f, c457bb516b61edeab940235a011928e26925381e, ce08c5555cabcd444d8b77fa69a7cb68bb05f611, 6.6.160, 6.12.111, 6.14, 6.15 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | c1fde337b317f0a226de92803288741c30799eb0 ≤ v < 66358f5789c9a7e28809985a83c01e6ad933849e, f45f26a6b3e7260c129c7c6bb0ace63aeb7b3868 ≤ v < 519fa26695b02870022fcdc651efb3d379abe54e, f06bf8d94fffbb544b1cb5402c92e0a075f0d420 ≤ v < 01d9874e84d3ab78fd212ad822412eb3af84497f, f06bf8d94fffbb544b1cb5402c92e0a075f0d420 ≤ v < c457bb516b61edeab940235a011928e26925381e, f06bf8d94fffbb544b1cb5402c92e0a075f0d420 ≤ v < ce08c5555cabcd444d8b77fa69a7cb68bb05f611, af9f2471dfe5a48384f5b7f021a673fbc741465e, b797352954eee6dc084cfaed0659dea60adfb484, 6.6.88 ≤ v < 6.6.160, 6.12.24 ≤ v < 6.12.111, 6.13.12 ≤ v < 6.14, 6.14.3 ≤ v < 6.15, 6.15 | 66358f5789c9a7e28809985a83c01e6ad933849e, 519fa26695b02870022fcdc651efb3d379abe54e, 01d9874e84d3ab78fd212ad822412eb3af84497f, c457bb516b61edeab940235a011928e26925381e, ce08c5555cabcd444d8b77fa69a7cb68bb05f611, 6.6.160, 6.12.111, 6.14, 6.15 |
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.