Apollon
Заблокирован
- Регистрация
- 07.09.17
- Сообщения
- 5.309
- Реакции
- 1.010
- Репутация
- 1.625
Обратите внимание, если вы хотите провести сделку с данным пользователем, на то, что он заблокирован!
Обязательно используйте услуги гаранта и не переводите денежные средства данному пользователю первым.
You must be registered for see images attach
Проблема затрагивает версии операционной системы с 8-й по 10-ю.
Пользователь GitHub под псевдонимом leo-yuriev сообщил об уязвимости в версиях Windows с 8-й по 10-ю, вызывающей взаимную блокировку (deadlock) в файловых операциях.
- Процедуры из трех операций LockFile + WriteFile + UnlockFile;
- Два потока, конкурентно выполняющие процедуру;
- В результате возникает взаимная блокировка между потоками, но процесс можно убить без видимых последствия для ядра.
Примерные трейсы из ядра из 8.1-ent
Стек первого потока:
nt!KiSwapContext+0x7a
nt!KiCommitThreadWait+0x1d2
nt!KeWaitForSingleObject+0x19f
nt!IopSynchronousServiceTail+0x2a9
nt!NtLockFile+0x514
nt!KiSystemServiceCopyEnd+0x13
Стек второго потока:
nt!KiSwapContext+0x7a
nt!KiCommitThreadWait+0x1d2
nt!KeWaitForSingleObject+0x19f
nt!IopAcquireFileObjectLock+0x84
nt! ?? ::NNGAKEGL::`string'+0x491d5
nt!KiSystemServiceCopyEnd+0x13
С работающим тест-кейсом можно ознакомитьсяздесь.
Взаимная блокировка – ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами.