Site icon EfmSoft

Что означает код NTSTATUS 0xC0000710 (STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING)?

 
Предыдущий Следующий
STATUS_THREADPOOL_RELEASED_DURING_OPERATION STATUS_APC_RETURNED_WHILE_IMPERSONATING

STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING

Что означает STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING

STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING означает, что callback завершился, сохранив токен олицетворения клиента.

Почему это опасно

Worker thread pool переиспользуется. Если он вернётся в pool с чужим контекстом безопасности, следующая несвязанная задача может выполниться от имени предыдущего клиента.

Что проверить

  • Все места, где callback включает олицетворение через RPC, COM или Win32 API.
  • Наличие парного вызова отмены олицетворения на успешном пути, при ошибке и при отмене.
  • Состояние токена потока непосредственно при входе и перед выходом callback.

Помещайте отмену impersonation в гарантированный блок очистки, а ошибку отмены олицетворения обрабатывайте как нарушение границы безопасности, а не как несущественный сбой журналирования. После исправления полезно добавить проверку, что перед возвратом worker в pool токен потока снова соответствует ожидаемому контексту службы.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version