Description
In PuTTY 0.68 through 0.80 before 0.81, biased ECDSA nonce generation allows an attacker to recover a user's NIST P-521 secret key via a quick attack in approximately 60 signatures. This is especially important in a scenario where an adversary is able to read messages signed by PuTTY or Pageant. The required set of signed messages may be publicly readable because they are stored in a public Git service that supports use of SSH for commit signing, and the signatures were made by Pageant through an agent-forwarding mechanism. In other words, an adversary may already have enough signature information to compromise a victim's private key, even if there is no further use of vulnerable PuTTY versions. After a key compromise, an adversary may be able to conduct supply-chain attacks on software maintained in Git. A second, independent scenario is that the adversary is an operator of an SSH server to which the victim authenticates (for remote login or file copy), even though this server is not fully trusted by the victim, and the victim uses the same private key for SSH connections to other services operated by other entities. Here, the rogue server operator (who would otherwise have no way to determine the victim's private key) can derive the victim's private key, and then use it for unauthorized access to those other services. If the other services include Git services, then again it may be possible to conduct supply-chain attacks on software maintained in Git. This also affects, for example, FileZilla before 3.67.0, WinSCP before 6.3.3, TortoiseGit before 2.15.0.1, and TortoiseSVN through 1.14.6.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | filezilla | 3.67.0-1 | — |
| Debian 14 | putty | 0.81-1 | — |
| Debian 13 | filezilla | 3.67.0-1 | — |
| Debian 13 | putty | 0.81-1 | — |
| Debian 12 | filezilla | No fix yet | — |
| Debian 12 | putty | 0.78-2+deb12u2 | — |
| Debian 10 | putty | 0.74-1+deb11u1~deb10u2 | DLA-3839-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | filezilla | No fix yet | — |
| Ubuntu 22.04 LTS | putty +1 | No fix yet | — |
| Ubuntu 20.04 LTS | putty +1 | No fix yet | — |
| Ubuntu 18.04 LTS | putty +1 | No fix yet | — |
| Ubuntu 16.04 LTS | putty +1 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE Package Hub 15 SP5 | putty | 0.81-bp155.2.6.1 | openSUSE-SU-2024:0111-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | filezilla | 3.67.0-1.1 | openSUSE-SU-2024:13870-1 |
| openSUSE Tumbleweed | putty | 0.81-1.1 | openSUSE-SU-2024:13868-1 |
| openSUSE Leap 15.5 | putty | 0.81-bp155.2.6.1 | openSUSE-SU-2024:0111-1 |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | putty | 0.81-r0 | — |
| Alpine v3.23 | putty | 0.81-r0 | — |
| Alpine v3.22 | putty | 0.81-r0 | — |
| Alpine v3.21 | putty | 0.81-r0 | — |
| Alpine v3.20 | putty | 0.81-r0 | — |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | putty | 0.81-r0 | — |
| Alpine v3.18 | putty | 0.81-r0 | — |
| Alpine v3.17 | putty | 0.81-r0 | — |
| Alpine v3.16 | putty | 0.81-r0 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 4 repositories
-
HugoBond/CVE-2024-31497-POC ★ 11 · May 10, 2024
Proof Of Concept that exploits PuTTy CVE-2024-31497.
-
edutko/cve-2024-31497 ★ 2 · Apr 17, 2024
-
LukaWynants/Onderzoek_CVE-2024-31497-POC ★ 0 · Oct 16, 2025
-
sh1k4ku/CVE-2024-31497 ★ 0 · Apr 17, 2024
A script designed to uncover vulnerabilities in Putty by exploiting CVE-2024-31497.
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 6
- DLA-3839-1 putty - security update Debian Security (DSA / DLA) · Mar 9, 2026
- openSUSE-SU-2024:13868-1 putty-0.81-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:13870-1 filezilla-3.67.0-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:0111-1 Security update for putty SUSE / openSUSE Security Updates · Feb 4, 2026
- WID-SEC-2024-0866 PuTTY: Schwachstelle ermöglicht Erlangen des privaten Schlüssels BSI CERT-Bund (WID) · Jul 4, 2024
- BSI-2024-0001 Secret Key Recovery of NIST P-521 Private Keys through biased ECDSA nonces in PuTTY client BSI CERT-Bund (WID) · Apr 15, 2024
References
- https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html
- https://filezilla-project.org/versions.php
- https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-p521-bias.html
- https://www.openwall.com/lists/oss-security/2024/04/15/6
- https://tartarus.org/~simon/putty-snapshots/htmldoc/Chapter9.html#pageant-forward
- https://docs.ccv.brown.edu/oscar/connecting-to-oscar/ssh/ssh-agent-forwarding/key-generation-and-agent-forwarding-with-putty
- https://news.ycombinator.com/item?id=40044665
- https://winscp.net/eng/news.php
- https://tortoisegit.org
- https://github.com/advisories/GHSA-6p4c-r453-8743
- https://bugzilla.redhat.com/show_bug.cgi?id=2275183
- https://bugzilla.suse.com/show_bug.cgi?id=1222864
- https://security-tracker.debian.org/tracker/CVE-2024-31497
- https://twitter.com/lambdafu/status/1779969509522133272
- https://git.tartarus.org/?h=c193fe9848f50a88a4089aac647fecc31ae96d27&p=simon/putty.git
- https://www.reddit.com/r/sysadmin/comments/1c4wmoj/putty_vulnerability_affecting_v068_to_v08/
- https://github.com/daedalus/BreakingECDSAwithLLL
- https://www.bleepingcomputer.com/news/security/putty-ssh-client-flaw-allows-recovery-of-cryptographic-private-keys/
- https://twitter.com/CCBalert/status/1780229237569470549
- https://securityonline.info/cve-2024-31497-critical-putty-vulnerability-exposes-private-keys-immediate-action-required/
- FEDORA-2024-8401d42de6 vendor-advisory
- FEDORA-2024-ff9a2fb31c vendor-advisory
- FEDORA-2024-0489e7ba1e vendor-advisory
- FEDORA-2024-08a4a5ead8 vendor-advisory
- FEDORA-2024-cba85cc558 vendor-advisory
- [oss-security] 20240415 CVE-2024-31497: Secret Key Recovery of NIST P-521 Private Keys Through Biased ECDSA Nonces in PuTTY Client mailing-list
- [debian-lts-announce] 20240620 [SECURITY] [DLA 3839-1] putty security update mailing-list