In PuTTY, Scripted Passwords are Exposed Passwords

PuTTY is one of the oldest and most popular SSH clients, originally for Windows, but now available on several platforms. It has won corporate support and endorsement, and is prepared and bundled within several third-party repositories.
Unfortunately, the 0.74 stable PuTTY release does not safely guard plain-text passwords provided to it via the -pw
command line option for the psftp
, pscp
, and plink
utilities as the documentation clearly warns. There is evidence within the source code that the authors are aware of the problem, but the exposure is confirmed on Microsoft Windows, Oracle Linux, and the package prepared by the OpenBSD project.
After discussions with the original author of PuTTY, Simon Tatham developed a new -pwfile
option, which will read an SSH password from a file, removing it from the command line. This feature can be backported into the current 0.76 stable release. Full instructions for applying the backport and a .netrc
wrapper for psftp
are presented, also implemented in Windows under Busybox.
While the -pw
option is attractive for SSH users who are required to use passwords (and forbidden from using keys) for scripting activities, the exposure risk should be understood for any use of the feature. Users with security concerns should obtain the -pwfile
functionality, either by applying a patch to the 0.76 stable release, or using a snapshot release found on the PuTTY website.
Vulnerability
The psftp
, pscp
, and plink
utilities are able to accept a password on the command line, as their usage output describes:
Source: Linux Journal - The Original Magazine of the Linux Community