PuTTY Key Generator Changelog

What's new in PuTTY Key Generator 0.81

Apr 16, 2024
  • Security fix for CVE-2024-31497: NIST P521 / ecdsa-sha2-nistp521 signatures are no longer generated with biased values of k. The previous bias compromises private keys.

New in PuTTY Key Generator 0.80 (Dec 18, 2023)

  • Security fix: support for OpenSSH's new kex-strict protocol modification, addressing a vulnerability in some @openssh.com cipher and MAC modes, in particular ChaCha20+Poly1305.
  • Bug fix: the MSI-installed version of putty.exe can now find its help file again.
  • Bug fix: a server sending non-displaying terminal escape sequences such as ESC[0m now no longer resets the scrollback to the bottom of the window.

New in PuTTY Key Generator 0.79 (Aug 26, 2023)

  • Windows installer scope is back to the normal 'per machine' setting, reverting 0.78's security workaround.
  • Terminal mouse tracking: support for mouse movements which are not drags.
  • Terminal mouse tracking: support for horizontal scroll events (e.g. generated by trackpads).
  • Backwards compatibility fix: certificate-based user authentication now works with OpenSSH 7.7 and earlier.
  • Bug fix: in a session using the 'Raw' protocol, pressing ^D twice in the terminal window could cause an assertion failure.
  • Bug fix: terminal output could hang if a resize control sequence was sent by the server (and was not disabled in the Features panel) but PuTTY's window was set to non-resizable in the Window panel.
  • Bug fix: GTK PuTTY could fail an assertion if a resize control sequence was sent by the server while the window was docked to one half of the screen in KDE.
  • Bug fix: GTK PuTTY could fail an assertion if you tried to change the font size while the window was maximised.
  • Bug fix: the 'bell overload' timing settings were misinterpreted by Unix PuTTY and pterm 0.77/0.78; if any settings were saved using these versions, confusion can persist with newer versions.
  • Bug fix: SSH authentication banners were not reliably printed if a server sent one immediately before closing the connection (e.g. intended as a user-visible explanation for the connection closure).
  • Bug fix: the 'close' command in PSFTP always reported failure, so that ending a psftp -b batch script with it would cause PSFTP as a whole to believe it had failed, even if everything worked fine.
  • Bug fix: certificate handling would do the wrong thing, for RSA keys only, if you specified a detached certificate to go with a PPK file that had a different certificate embedded.
  • Bug fix: Windows Pageant's option to write out a configuration file fragment for Windows OpenSSH now works even if you have a space in your user name.
  • Bug fix: in local-line-editing mode, pressing ^U now just clears the line, instead of clearing it and then inserting a literal ^U.
  • Several bug fixes in edge cases of terminal wrapping, involving double-width characters.

New in PuTTY Key Generator 0.78 (Oct 30, 2022)

  • Support for OpenSSH certificates, for both user authentication keys and host keys.
  • New SSH proxy modes, for running a custom shell command or subsystem on the proxy server instead of forwarding a port through it.
  • New plugin system to allow a helper program to provide responses in keyboard-interactive authentication, intended to automate one-time password systems.
  • Support for NTRU Prime post-quantum key exchange,
  • Support for AES-GCM (in the OpenSSH style rather than RFC 5647).
  • Support for more forms of Diffie-Hellman key exchange: new larger integer groups (such as group16 and group18), and support for using those and ECDH with GSSAPI.
  • Bug fix: the 32-bit Windows build now runs on Windows XP again.
  • Bug fix: server-controlled window title setting now works again even if the character set is ISO 8859 (or a few other affected single-byte character sets).
  • Bug fix: certain forms of OSC escape sequences (sent by some real servers) could cause PuTTY to crash.
  • Bug fix: the -pwfile/-pw options no longer affect local key passphrase prompts, and no longer suppress Plink's anti-spoofing measures.
  • Note: installing the 0.78 or later Windows installer will not automatically uninstall 0.77 or earlier, due to a change we've made to work around a bug. We recommend uninstalling the old version first, if possible. If both end up installed, uninstalling both and then re-installing the new version will fix things up.

New in PuTTY Key Generator 0.77 (May 27, 2022)

  • Major improvements to network proxy support:
  • Support for interactively prompting the user if the proxy server requires authentication.
  • Built-in support for proxying via another SSH server, so that PuTTY will SSH to the proxy and then automatically forward a port through it to the destination host. (Similar to running plink -nc as a subprocess, but more convenient to set up, and allows you to answer interactive prompts presented by the proxy.)
  • Support for HTTP Digest authentication, when talking to HTTP proxies.
  • Introduced pterm.exe, a PuTTY-like wrapper program for Windows command prompts (or anything else running in a Windows console). Not yet included in the installer, but available as a .exe file from the Download page.
  • Updated Unicode and bidi support to Unicode 14.0.0.
  • New command-line option -pwfile, like -pw except that it reads the password from a file so that it doesn't show up on the command line.
  • Windows Pageant: option --openssh-config to allow easy interoperation with Windows's ssh.exe.
  • -pw (and -pwfile) now do not fall back to interactively prompting for a password if the provided password fails. (That was the original intention.)
  • New configuration options for keyboard handling:
  • Option to control handling of Shift + arrow keys
  • Extra mode in the function-keys option, for modern xterm (v216 and above).
  • Bug workaround flag to wait for the server's SSH greeting before sending our own, for servers (or proxies) that lose outgoing data before seeing any incoming data.
  • Crypto update: added side-channel resistance in probabilistic RSA key generation.
  • Crypto update: retired the use of short Diffie-Hellman exponents (just in case).
  • Bug fix: reconfiguring remote port forwardings more than once no longer crashes.
  • Bug fix: terminal output processing is now paused while handling a remote-controlled terminal resize, so that the subsequent screen redraw is interpreted relative to the new terminal size instead of the old.
  • Bug fix: Windows PuTTYgen's mouse-based entropy collection now handles high-frequency mice without getting confused.
  • Bug fix: Windows Pageant can now handle large numbers of concurrent connections without hanging or crashing.
  • Bug fix: if Windows Pageant is started multiple times simultaneously, the instances should reliably agree on one of them to be the persistent server.
  • Bug fix: remote-controlled changes of window title are now interpreted according to the configured character set.
  • Bug fix: remote-controlled changes of window title no longer get confused by UTF-8 characters whose encoding includes the byte 0x9C (which terminates the control sequence in non-UTF-8 contexts).
  • Bug fix: popping up the window context menu in the middle of a drag-select now no longer leaves the drag in a stuck state.
  • Bug fix: extensive use of true colour in the terminal no longer slows down window redraws unnecessarily.
  • Bug fix: when PSCP reports the server sending a disallowed compound pathname, it correctly reports the replacement name it's using for the downloaded file.
  • Bug fix: enabling X11 forwarding in psusan failed to fall back through possible port numbers for the forwarded X display.
  • For developers: migrated the build system to CMake, removing the old idiosyncratic mkfiles.pl and the autotools system.

New in PuTTY Key Generator 0.76 (Jul 17, 2021)

  • New option to abandon an SSH connection if the server allows you to authenticate in a trivial manner.
  • Bug fix: Windows PuTTY crashed when the 'Use system colours' option was used.
  • Bug fix: crash on Windows when using MIT Kerberos together with 'Restart Session'.
  • Bug fix: Windows PuTTY leaked named pipes after contacting Pageant.
  • Bug fix: Windows PuTTY didn't update the window while you held down the scrollbar arrow buttons long enough to 'key-repeat'.
  • Bug fix: user colour-palette reconfiguration via 'Change Settings' were delayed-action.
  • Bug fix: server colour-palette reconfigurations were sometimes lost.
  • Bug fix: a tight loop could occur on reading a truncated private key file.
  • Bug fix: the Windows Pageant GUI key list didn't display key lengths.

New in PuTTY Key Generator 0.75 (May 8, 2021)

  • Security fix: on Windows, a server could DoS the whole Windows GUI by telling the PuTTY window to change its title repeatedly at high speed.
  • Pageant now supports loading a key still encrypted, and decrypting it later by prompting for the passphrase on first use.
  • Upgraded default SSH key fingerprint format to OpenSSH-style SHA-256.
  • Upgraded private key file format to PPK3, with improved passphrase hashing and no use of SHA-1.
  • Terminal now supports ESC [ 9 m for strikethrough text.
  • New protocols: bare ssh-connection layer for use over already-secure IPC channels, and SUPDUP for talking to very old systems such as PDP-10s.
  • PuTTYgen now supports alternative provable-prime generation algorithm for RSA and DSA.
  • The Unix tools can now connect directly to a Unix-domain socket.

New in PuTTY Key Generator 0.74 (Jun 27, 2020)

  • Security fix: if an SSH server accepted an offer of a public key and then rejected the signature, PuTTY could access freed memory, if the key had come from an SSH agent.
  • Security feature: new config option to disable PuTTY's dynamic host key preference policy, if you prefer to avoid giving away to eavesdroppers which hosts you have stored keys for.
  • Bug fix: the installer UI was illegible in Windows high-contrast mode.
  • Bug fix: console password input failed on Windows 7.
  • Bug fixes in the terminal: one instance of the dreaded "line==NULL" error box, and two other assertion failures.
  • Bug fix: potential memory-consuming loop in bug-compatible padding of an RSA signature from an agent.
  • Bug fix: PSFTP's buffer handling worked badly with some servers (particularly proftpd's mod_sftp).
  • Bug fix: cursor could be wrongly positioned when restoring from the alternate terminal screen. (A bug of this type was fixed in 0.59; this is a case that that fix missed.)
  • Bug fix: character cell height could be a pixel too small when running GTK PuTTY on Ubuntu 20.04 (or any other system with a similarly up-to-date version of Pango).
  • Bug fix: old-style (low resolution) scroll wheel events did not work in GTK 3 PuTTY. This could stop the scroll wheel working at all in VNC.

New in PuTTY Key Generator 0.73 (Sep 29, 2019)

  • Security fix: on Windows, other applications were able to bind to the same TCP port as a PuTTY local port forwarding.
  • Security fix: in bracketed paste mode, the terminal escape sequences that should delimit the pasted data were appearing together on one side of it, making it possible to misidentify pasted data as manual keyboard input.
  • Bug fix (possibly security-related): an SSH-1 server sending a disconnection message could cause an access to freed memory.
  • Bug fix: Windows Plink would crash on startup if it was acting as a connection-sharing downstream.
  • Bug fix: Windows PuTTY now updates its terminal window size correctly if the screen resolution changes while it's maximised.
  • Bug fix: tweaked terminal handling to prevent lost characters at the ends of lines in gcc's coloured error messages.
  • Bug fix: removed a bad interaction between the 'clear scrollback' operation and mouse selection that could give rise to the dreaded "line==NULL" assertion box.

New in PuTTY Key Generator 0.72 (Jul 20, 2019)

  • Security fixes found by the EU-funded bug bounty:
  • two separate vulnerabilities affecting the obsolete SSH-1 protocol, both available before host key checking
  • a vulnerability in all the SSH client tools (PuTTY, Plink, PSFTP and PSCP) if a malicious program can impersonate Pageant
  • Bug fix: crash in GSSAPI / Kerberos key exchange affecting third-party GSSAPI providers on Windows (such as MIT Kerberos for Windows)
  • Bug fix: crash in GSSAPI / Kerberos key exchange triggered if the server provided an ordinary SSH host key as part of the exchange
  • Bug fix: trust sigils were never turned off in SSH-1 or Rlogin
  • Bug fix: trust sigils were never turned back on if you used Restart Session
  • Bug fix: PSCP in SCP download mode could create files with a spurious newline at the end of their names
  • Bug fix: PSCP in SCP download mode with the -p option would generate spurious complaints about illegal file renaming
  • Bug fix: the initial instruction message was never printed during SSH keyboard-interactive authentication
  • Bug fix: pasting very long lines through connection sharing could crash the downstream PuTTY window
  • Bug fix: in keyboard layouts with a ',' key on the numeric keypad (e.g. German), Windows PuTTY would generate '.' instead for that key
  • Bug fix: PuTTYgen could generate RSA keys with a modulus one bit shorter than requested

New in PuTTY Key Generator 0.71 (Mar 19, 2019)

  • Security fixes found by an EU-funded bug bounty programme:
  • A remotely triggerable memory overwrite in RSA key exchange, which can occur before host key verification
  • Potential recycling of random numbers used in cryptography
  • On Windows, hijacking by a malicious help file in the same directory as the executable
  • On Unix, remotely triggerable buffer overflow in any kind of server-to-client forwarding
  • Multiple denial-of-service attacks that can be triggered by writing to the terminal
  • Other security enhancements: major rewrite of the crypto code to remove cache and timing side channels.
  • User interface changes to protect against fake authentication prompts from a malicious server.
  • We now provide pre-built binaries for Windows on Arm.
  • Hardware-accelerated versions of the most common cryptographic primitives: AES, SHA-256, SHA-1.
  • GTK PuTTY now supports non-X11 displays (e.g. Wayland) and high-DPI configurations.
  • Type-ahead now works as soon as a PuTTY window is opened: keystrokes typed before authentication has finished will be buffered instead of being dropped.
  • Support for GSSAPI key exchange: an alternative to the older GSSAPI authentication system which can keep your forwarded Kerberos credentials updated during a long session.
  • More choices of user interface for clipboard handling.
  • New terminal features: support the REP escape sequence (fixing an ncurses screen redraw failure), true colour, and SGR 2 dim text.
  • Pressing Ctrl+Shift+PgUp or Ctrl+Shift+PgDn now takes you straight to the top or bottom of the terminal scrollback.

New in PuTTY Key Generator 0.70 (Nov 13, 2017)

  • Security fix: the Windows PuTTY binaries should no longer be vulnerable to hijacking by specially named DLLs in the same directory, even a name we missed when we thought we'd fixed this in 0.69. See vuln-indirect-dll-hijack-3.
  • Windows PuTTY should be able to print again, after our DLL hijacking defences broke that functionality.
  • Windows PuTTY should be able to accept keyboard input outside the current code page, after our DLL hijacking defences broke that too.

New in PuTTY Key Generator 0.68 (Mar 1, 2017)

  • Security fix: an integer overflow bug in the agent forwarding code. See vuln-agent-fwd-overflow.
  • Security fix: the Windows PuTTY binaries should no longer be vulnerable to hijacking by specially named DLLs in the same directory (on versions of Windows where they previously were). See vuln-indirect-dll-hijack.
  • Windows PuTTY no longer sets a restrictive process ACL by default, because this turned out to inconvenience too many legitimate applications such as NVDA and TortoiseGit. You can still manually request a restricted ACL using the command-line option -restrict-acl.
  • The Windows PuTTY tools now come in a 64-bit version.
  • The Windows PuTTY tools now have Windows's ASLR and DEP security features turned on.
  • Support for elliptic-curve cryptography (the NIST curves and 25519), for host keys, user authentication keys, and key exchange.
  • Support for importing and exporting OpenSSH's new private key format.
  • Host key preference policy change: PuTTY prefers host key formats for which it already knows the key.
  • Run-time option (from the system menu / Ctrl-right-click menu) to retrieve other host keys from the same server (which cross-certifies them using the session key established using an already-known key) and add them to the known host-keys database.
  • The Unix GUI PuTTY tools can now be built against GTK 3.
  • There is now a Unix version of Pageant.