Summary
NVDA may unintentionally launch with administrative privileges immediately after installation. This is a privilege escalation issue. If an attacker gains access to the elevated instance, they can exploit this within the python console of NVDA while it is running with elevated privileges. From there they could gain unauthorised access to the local system. This issue is limited to the first launch of NVDA following installation and only occurs when the installer is executed from an already elevated command prompt.
Patch commit(s)
1a9a5e8
Limitations
The vulnerability is triggered only when:
- The NVDA installer is executed from an elevated command prompt.
- It is the first launch of NVDA immediately following installation.
- Subsequent launches of new instances of NVDA (ie not restarting the same instance of NVDA), will run with standard user privileges as expected.
Technical details
Proof of concept
- Open an elevated command prompt.
- Install NVDA (any recent version including alpha installers are likely affected).
- During installation, check the license box and choose "Install on this computer".
- Complete the installation process.
- Press "OK" to launch NVDA after installation.
- NVDA will launch and run with administrative privileges. You can verify this using Task Manager by checking the "Elevated" column for the NVDA process, or using other process explorer tools.
Indicators of compromise
While not strictly indicators of compromise, administrators should be aware that if NVDA was installed from an elevated command prompt, the initial NVDA process launched immediately after installation will be running with elevated privileges. To ensure NVDA is running with expected user privileges, verify that NVDA processes are not marked as "Elevated" in Task Manager.
Workarounds
- Recommended: Avoid installing NVDA from an elevated command prompt. Install NVDA by running the installer directly from a standard user session (e.g., by double-clicking the installer file downloaded in a web browser).
- If NVDA has already been installed from an elevated command prompt and is running with elevated privileges, shut down NVDA completely (NVDA menu -> Exit). Then, launch NVDA again through the standard user interface (e.g., from the Start Menu or desktop shortcut). Do not restart NVDA as the restart functionality may preserve the elevated state. Launching a fresh instance after shutdown will ensure NVDA runs with standard user privileges.
Timeline
- Reported: 2025/01/28
- Acknowledged by NV Access: 30/1/2025
- Fix released - NVDA 2025.3.3: 2026-02-16
For more information
If you have any questions or comments about this advisory:
Summary
NVDA may unintentionally launch with administrative privileges immediately after installation. This is a privilege escalation issue. If an attacker gains access to the elevated instance, they can exploit this within the python console of NVDA while it is running with elevated privileges. From there they could gain unauthorised access to the local system. This issue is limited to the first launch of NVDA following installation and only occurs when the installer is executed from an already elevated command prompt.
Patch commit(s)
1a9a5e8
Limitations
The vulnerability is triggered only when:
Technical details
Proof of concept
Indicators of compromise
While not strictly indicators of compromise, administrators should be aware that if NVDA was installed from an elevated command prompt, the initial NVDA process launched immediately after installation will be running with elevated privileges. To ensure NVDA is running with expected user privileges, verify that NVDA processes are not marked as "Elevated" in Task Manager.
Workarounds
Timeline
For more information
If you have any questions or comments about this advisory: