CVE-2026-80781
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: HID: core: hid_set_field() fonksiyonundaki field->usage alanının sınır dışı (OOB) okunması düzeltildi hid_set_field(), offset değerini sınırlayan koruma mekanizmasından önce field->usage + offset değerini hid_dump_input() fonksiyonuna iletmektedir: hid_dump_input(field->report->device, field->usage + offset, value); if (offset >= field->report_count) { hid_err(...); return -1; } CONFIG_DEBUG_FS etkinleştirildiğinde, hid_dump_input() bu işaretçiyi buf = hid_resolv_usage(usage->hid, NULL) şeklinde çözümler. usage[] dizisi, hid_register_field() içerisinde hid_field ile satır içi olarak tahsis edilir ve field->maxusage kadar girdi tutar; dolayısıyla bunu aşan bir offset, kvzalloc() ile ayrılan alanın sonunu okuyarak komşu bir nesneye erişir. Koruma mekanizması önce çalışsaydı, offset < report_count <= maxusage durumu işaretçiyi zaten diziyle sınırlandırmış olacaktı. Günümüzde bir çağırıcı böyle bir offset sağlamaktadır. picolcd_fb_send_tile(), i = 0..31 için hid_set_field(report->field[0], 11 + i, ...) işlemini gerçekleştirmeden önce yalnızca report->maxfield değerini doğrular; bu nedenle offset değerleri 11..42 arasında sabitlenmiştir ve hiçbir zaman field sınırı ile karşılaştırılmaz. Cihaz bu alanı daha az kullanım (usage) ile kaydettiğinde, framebuffer ertelenmiş-giriş/çıkış (deferred-io) işlemi her karoda okumayı tetikler. KASAN, hid_set_field() altındaki hid_dump_input() fonksiyonunda 4 baytlık bir slab-out-of-bounds okuma rapor eder ve aynı önyükleme günlüklerinde, yalnızca sonrasında çalışan koruma mekanizmasından kaynaklanan "offset (1) exceeds report_count (1)" mesajı görülür. hid_dump_input() çağrısı koruma mekanizmasının altına taşındı. field->maxusage >= field->report_count olduğu için, koruma mekanizması artık tüm çağırıcılar için geçerli yoldaki davranışı değiştirmeden, field->usage + offset değerinin işaretçi çözümlenmeden önce dizi içinde olduğunu kesinleştirir. XBOW tarafından keşfedilmiş, Baul Lee <[email protected]> tarafından analiz edilmiştir.
Nasıl düzeltilir
- Linux Linux465544b3d6602cfbdc2305d5cbfb7f4954353b63, 4993e1ab85d7d3f4a40d81852170f9665483bbd8, 313ead1abed945544703b100a12c5a10fdf78409, c1d9c16af51cc6ff92a5a062617d3b022dd01078, a38212687519f2a72f43e62dec1348a690412404, 9a1d7c5f0d82e8665715d5e47c9410c6a97e3748, 5215ea00a747eca34cb2f603cfef91fef76c2558, cbcc0e8dea499e5ca86b583372ccb1815cccc570, a13cdb19fcb223ed41bdab3bab42b98dba87e90b ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 465544b3d6602cfbdc2305d5cbfb7f4954353b63, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 4993e1ab85d7d3f4a40d81852170f9665483bbd8, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 313ead1abed945544703b100a12c5a10fdf78409, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < c1d9c16af51cc6ff92a5a062617d3b022dd01078, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < a38212687519f2a72f43e62dec1348a690412404, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 9a1d7c5f0d82e8665715d5e47c9410c6a97e3748, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 5215ea00a747eca34cb2f603cfef91fef76c2558, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < cbcc0e8dea499e5ca86b583372ccb1815cccc570, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < a13cdb19fcb223ed41bdab3bab42b98dba87e90b, 2.6.12 | 465544b3d6602cfbdc2305d5cbfb7f4954353b63, 4993e1ab85d7d3f4a40d81852170f9665483bbd8, 313ead1abed945544703b100a12c5a10fdf78409, c1d9c16af51cc6ff92a5a062617d3b022dd01078, a38212687519f2a72f43e62dec1348a690412404, 9a1d7c5f0d82e8665715d5e47c9410c6a97e3748, 5215ea00a747eca34cb2f603cfef91fef76c2558, cbcc0e8dea499e5ca86b583372ccb1815cccc570, a13cdb19fcb223ed41bdab3bab42b98dba87e90b |
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.