User password left in memory in plain text after GUI launch
Low
N
Nord Security
Submitted None
Team Summary
Official summary from Nord Security
The reporter has identified that the NordVPN windows application do not properly handle sensitive strings in process memory therefore some objects in memory contains sensitive information in plaintext for a limited period of time. This information can only be obtained within privileged user context by examining application memory dump.
Actions:
Reported by
kaimi
Vulnerability Details
Technical details and impact analysis
## Summary
When NordVPN GUI has sensitive data in memory and has no further need for it, it should wipe the data out of its memory, in case malware later gains access to the NordVPN process or the memory is swapped out to disk or written into a crash dump file. An obvious example of this is the user password in plain text.
## Steps to reproduce
1. Install NordVPN client
2. Authorize with your account
3. Close application
4. Relaunch application and create a memory dump (for example using Windows Task Manager)
5. Search password in resulting dump with any hex editor.
{F663532}
## Why bother
NordVPN desktop application is designed as VPN client, not as a management software for the user account. Currently application stores user credentials by the following path: `C:\Users\%USER%\AppData\Local\NordVPN\NordVPN.exe_Url_htakemwyuyjotcmrvjkhtpa53zxkjlky\6.26.6.0\user.config` in encrypted state. But it is clear, that VPN client should rely only on authentication and refresh tokens which should be unvalidated upon password change from user control panel on NordVPN web site. Those tokens actions should be limited only to activities required for establishing a VPN connection. Thus there's no purpose in storing user credentials (even in encrypted form) in the user configuration file and therefore in process memory.
## Mitigation
Consider wiping plain text password for memory and do no load it in memory after startup. Consider using tokens instead of user credentials.
## Impact
A plain text password from memory may be exposed to the malicious actor.
Report Details
Additional information and metadata
State
Closed
Substate
Resolved
Submitted
Weakness
Violation of Secure Design Principles