CVE-2026-93189
HID: core: use-after-free को रोकने के लिए hid_hw_stop() में इनपुट को quiesce करें
- प्रकाशित
- 17 सित॰ 2026
- अद्यतन
- 18 सित॰ 2026
- सीएनए असाइन करना
- Linux
- साक्ष्य देखे गए
- 8 अक्टू॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hकम · अगले 30 दिन
- प्रतिशत
- 32.2%
- मॉडल दिनांक
- 7 अक्टू॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Linux kernel में, निम्नलिखित vulnerability को resolve किया गया है: HID: core: use-after-free को रोकने के लिए hid_hw_stop() में input को quiesce करें। एक driver का probe input delivery को enable करने के लिए hid_device_io_start() को call करता है, फिर बाद के initialization step में fail हो जाता है और hid_hw_stop() के माध्यम से unwind करता है। unwind hidraw_disconnect() के माध्यम से struct hidraw को free करता है, जबकि in-flight HID reports अभी भी किसी अन्य CPU पर चल रही हो सकती हैं, जो hidraw_report_event() के माध्यम से freed object को dereference करती हैं। syzbot corsair-psu HID driver के लिए परिणामी use-after-free की report करता है। Edward Adam Davis ने corsair-psu के लिए एक per-driver fix post किया जो probe error path में hid_hw_stop() से पहले एक explicit hid_device_io_stop() जोड़ता है ("hwmon: prevent packets from going to driver for probe", 2026-04-28)। tree का audit करने पर पता चलता है कि 15 drivers hid_device_io_start() को call करते हैं; 7 hid_device_io_stop() को भी call करते हैं और 8 नहीं करते: hid_hw_stop() से पहले matching hid_device_io_stop() के बिना hid_device_io_start() को call करने वाले drivers: drivers/hwmon/corsair-psu.c (Edward द्वारा fix post किया गया) drivers/hwmon/corsair-cpro.c drivers/hwmon/nzxt-kraken3.c drivers/hwmon/nzxt-smart2.c drivers/hwmon/gigabyte_waterforce.c drivers/hid/hid-logitech-dj.c drivers/hid/hid-nintendo.c drivers/hid/hid-mcp2221.c API के लगभग आधे callers exposed हैं। quiesce को hid_hw_stop() में centralize करें ताकि callers को matching stop याद रखने की आवश्यकता न हो: यदि किसी driver ने entry पर hdev->io_started को true छोड़ा है, तो hid_disconnect() से पहले hid_device_io_stop() को call करें। उन 7 drivers के लिए जो पहले से ही hid_device_io_stop() को सही ढंग से call करते हैं, entry पर hdev->io_started false होता है, guard short-circuit करता है, और behavior अपरिवर्तित रहता है। कोई Fixes: tag नहीं क्योंकि affected drivers ने वर्षों में स्वतंत्र रूप से अपने hid_device_io_start() calls प्राप्त किए; bug एक commit से regression के बजाय एक class-wide API misuse है।
स्रोत
- pixel-ksu-rootएक्सप्लॉइट
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।