Remote Access needs to be enabled in NVDA's system config.
The controlling computer can't control the secure screen anymore, and the controlled computer logs this error:
ERROR - extensionPoints.Action.notify (02:40:42.321) - MainThread (6372):
Error running handler <bound method SecureDesktopHandler._onSecureDesktopChange of <_remoteClient.secureDesktop.SecureDesktopHandler object at 0x07EEADB0>> for <extensionPoints.Action object at 0x05620170>
Traceback (most recent call last):
File "extensionPoints\__init__.pyc", line 56, in notify
File "extensionPoints\util.pyc", line 230, in callWithSupportedKwargs
File "_remoteClient\secureDesktop.pyc", line 122, in _onSecureDesktopChange
File "_remoteClient\secureDesktop.pyc", line 167, in enterSecureDesktop
File "pathlib.pyc", line 1078, in write_text
File "pathlib.pyc", line 1044, in open
PermissionError: [Errno 13] Permission denied: 'C:\\ProgramData\\temp\\NVDA\\remote.ipc'
ERROR - core._terminate (02:41:59.930) - MainThread (6372):
Error terminating _remoteClient
Traceback (most recent call last):
File "core.pyc", line 1138, in _terminate
File "_remoteClient\__init__.pyc", line 33, in terminate
File "_remoteClient\client.pyc", line 102, in terminate
File "_remoteClient\secureDesktop.pyc", line 85, in terminate
File "pathlib.pyc", line 1147, in unlink
PermissionError: [WinError 5] Access is denied: 'C:\\ProgramData\\temp\\NVDA\\remote.ipc'
Summary
Various methods can be used to deny access to remote on secure screens via the
remote.ipcfile.Class: denial of service
Impact: Users controlling the machine can't access secure screens.
Patch commit(s)
a8f4f80
Limitations
Remote Access needs to be enabled in NVDA's system config.
Technical details
Proof of concept
%allusersprofile%\nvda\remote.ipcas a directory.The controlling computer can't control the secure screen anymore, and the controlled computer logs this error:
Another way to do this is to create
remote.ipcas a file and set it read-only.Indicators of compromise
NVDA will log an error on exit if remote is enabled:
Workarounds
Unknown
Timeline
history of the disclosure and release process
For more information
If you have any questions or comments about this advisory: