CVE-2026-80563
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: gpio: sloppy-logic-analyzer: unbind sırasında debugfs trigger aracılığıyla serbest bırakıldıktan sonra kullanım düzeltmesi "trigger" debugfs dosyası, cihaz başına gpio_la_poll_priv yapısının başvurusunu kaldıran elle yazılmış bir ->write işleyicisine (trigger_write()) sahiptir. Dosya debugfs_create_file_unsafe() ile oluşturulur ve işleyici hiçbir zaman bir debugfs başvurusu almaz. İşleyici çalışırken nesneyi canlı tutan hiçbir şey yoktur. priv, devm_kzalloc() ile ayrılır. Platform cihazının bağlantısı kaldırıldığında devres bunu serbest bırakır. debugfs_create_file_unsafe() herhangi bir full_proxy sarmalayıcısı yüklemez, bu nedenle gpio_la_poll_remove() içindeki debugfs_remove_recursive(), devam eden bir trigger_write() işlemini beklemez. Orada alınan blob_lock yardımcı olmaz, çünkü trigger_write() bunu hiçbir zaman almaz. Bir unbind ile yarışan bir yazma işlemi bu nedenle serbest bırakılmış belleğe yazar: trigger_write() gpio_la_poll_remove() priv = m->private buf = memdup_user() [uyuyabilir] mutex_lock(&priv->blob_lock) debugfs_remove_recursive() [beklemez] mutex_unlock(&priv->blob_lock) (kaldırma döner; devres priv'i serbest bırakır) priv->trig_data = buf <-- serbest bırakıldıktan sonra kullanım yazması priv->trig_len = count Yarışa root tarafından /sys/bus/platform/drivers/gpio-sloppy-logic-analyzer/unbind üzerinden erişilebilir. "trigger" dosyasını bunun yerine debugfs_create_file() ile oluşturun. Bunun full_proxy sarmalayıcısı, debugfs_remove_recursive() işlevinin dönmeden önce devam eden herhangi bir ->write işlemini boşaltmasını sağlar. Serbest bırakıldıktan sonra kullanım, aynı debugfs_create_file_unsafe() ve devm_kzalloc() deseninin minimal bir yeniden üreticisiyle KASAN altında doğrulanmıştır (talep üzerine temin edilebilir); işleyicide bir slab-use-after-free yazması üretir.
Nasıl düzeltilir
- Linux Linux49a1ebb1ef2c8ada300c174b65273810abb4e326, 23e9f32c0c7d2043e39655cff5ee3ddf29a43f80, 24bef4918f6ab806260476e2f93d8f791fd17449, 44f3468a0aef1aabdad551898ab7cfa2a9d20e99 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 7828b7bbbf2074dd7dd14d87f50bc5ce9036d692 ≤ v < 49a1ebb1ef2c8ada300c174b65273810abb4e326, 7828b7bbbf2074dd7dd14d87f50bc5ce9036d692 ≤ v < 23e9f32c0c7d2043e39655cff5ee3ddf29a43f80, 7828b7bbbf2074dd7dd14d87f50bc5ce9036d692 ≤ v < 24bef4918f6ab806260476e2f93d8f791fd17449, 7828b7bbbf2074dd7dd14d87f50bc5ce9036d692 ≤ v < 44f3468a0aef1aabdad551898ab7cfa2a9d20e99, 6.11 | 49a1ebb1ef2c8ada300c174b65273810abb4e326, 23e9f32c0c7d2043e39655cff5ee3ddf29a43f80, 24bef4918f6ab806260476e2f93d8f791fd17449, 44f3468a0aef1aabdad551898ab7cfa2a9d20e99 |
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.