CVE-2026-80772
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: HID: nintendo: joycon_ctlr_read_handler() fonksiyonundaki sınır dışı okuma hatası düzeltildi joycon_ctlr_read_handler(), gelen bir HID giriş raporunu struct joycon_input_report yapısına dönüştürür ve yalnızca 12 baytlık bir uzunluk kontrolü ile bu dönüşümü koruyarak ayrıştırır: if (size >= 12) /* giriş raporunu içerdiğinden emin olun */ joycon_parse_report(ctlr, (struct joycon_input_report *)data); struct joycon_input_report 49 bayttır: 13 baytlık bir başlık ve ardından IMU kolu 36 bayt olan bir union gelir. Bir IMU raporu için joycon_parse_report() -> joycon_parse_imu_report() bu union üzerinde ilerler (yapı ofsetleri 13..48), dolayısıyla data[0] == JC_INPUT_IMU_DATA değerine sahip tam olarak 12 baytlık bir rapor kontrolü geçer ancak beyan edilen uzunluğunun 37 bayt ötesine kadar okunur. Fazladan okunan baytlar ivmeölçer/jiroskop değerlerine dönüştürülür ve "(IMU)" giriş aygıtı aracılığıyla kullanıcı alanına iletilerek sürücü içi belleğin sızmasına neden olur. data[0] ve size değerleri tamamen kötü amaçlı veya sahte bir Joy-Con/Pro Controller tarafından kontrol edilmektedir. Alım tamponları maksimum rapor uzunluğuna göre boyutlandırılmıştır, bu nedenle durum bir slab OOB'den ziyade tahsisat içinde bir aşırı okumadır, ancak çözümlenen baytlar yine de kullanıcı alanına ulaşmaktadır. joycon_ctlr_handle_event() içindeki kardeş subcmd yolu aynı dönüşümü zaten doğru şekilde sınırlandırmaktadır: if (size < sizeof(struct joycon_input_report) || data[0] != JC_INPUT_SUBCMD_REPLY) break; Burada da aynı sizeof(struct joycon_input_report) sınırı kullanılmıştır.
Nasıl düzeltilir
- Linux Linux33ea29f8b6141f2d265de807e110a6435b355cb0, bd397c4123a4bc084913d8c7fdb40ef94e9f8172, addca61f9a23c0d20a387c2040e70479f54518e1, 51cfd1adbe7a46bb08af162abb3ab3b6820e2d15, d4cabd4089adb59cf7974915737c52cc47a9bb1b, 34725ed4719da424113db8449fb5485aaf71a913, 27b376b945c0aac46fcdfcc950b14a85b874b557 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < 33ea29f8b6141f2d265de807e110a6435b355cb0, 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < bd397c4123a4bc084913d8c7fdb40ef94e9f8172, 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < addca61f9a23c0d20a387c2040e70479f54518e1, 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < 51cfd1adbe7a46bb08af162abb3ab3b6820e2d15, 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < d4cabd4089adb59cf7974915737c52cc47a9bb1b, 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < 34725ed4719da424113db8449fb5485aaf71a913, 2af16c1f846bd60240745bbd3afa13d5f040c61a ≤ v < 27b376b945c0aac46fcdfcc950b14a85b874b557, 5.16 | 33ea29f8b6141f2d265de807e110a6435b355cb0, bd397c4123a4bc084913d8c7fdb40ef94e9f8172, addca61f9a23c0d20a387c2040e70479f54518e1, 51cfd1adbe7a46bb08af162abb3ab3b6820e2d15, d4cabd4089adb59cf7974915737c52cc47a9bb1b, 34725ed4719da424113db8449fb5485aaf71a913, 27b376b945c0aac46fcdfcc950b14a85b874b557 |
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.