Виявлено вразливість у версіях Windows з 8 по 10, що викликає взаємне блокування (deadlock) у файлових операціях.
Проблема зачіпає версії операційної системи з 8-ї по 10-ту.
Виявлено вразливість у версіях Windows з 8 по 10, що викликає взаємне блокування (deadlock) у файлових операціях. Вразливі, швидше за все, всі версії Windows, проте на версіях нижче 8-ї спроби відтворити її не робилися.
-
Процедури з трьох операцій LockFile + WriteFile + UnlockFile;
-
Два потоки, які конкурентно виконують процедуру;
-
В результаті виникає взаємне блокування між потоками, але процес можна вбити без видимих наслідків для ядра.
В якості побічного ефекту помічено, що внаслідок взаємного блокування утиліта Process Hacker для моніторингу системних процесів та служб не може отримати ім'я файлу проблемного хендла. Хендл стає "unnamed" і зникає з набору, що відображається. (за наявності відповідного прапорця за промовчанням).
Після відтворення проблеми хендл стає отруєним, тобто. блокуватимуться всі функції, які спробують працювати з файлом (об'єктом FileObject всередині ядра). Теоретично, помилка дозволяє спровокувати відмову в обслуговуванні багатопоточності програми, в якій LockFile використовується для поділу доступу з наступним WriteFile. Віддалена атака теж можлива, якщо програма обробляє будь-які запити, що надходять зовні.Взаємне блокування – ситуація в багатозадачному середовищі або СУБД, за якої кілька процесів перебувають у стані нескінченного очікування ресурсів, зайнятих самими цими процесами.