Every CVE Search/ Get API key

CVE-2024-31497

In PuTTY 0.68 through 0.80 before 0.81, biased ECDSA nonce generation allows an attacker to...

5.9 MediumPublic exploitFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

5.73%Up 5.7 points since Apr 16, 2024
90%50%10%1%

What each source reports

NVD Score used 5.9

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.

Record
CVE-2024-31497
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-338
Updated
2026-11-02
CVE List 5.9

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.

Record
CVE-2024-31497
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-338
Updated
2026-11-02
EUVDEUVD-2024-29377 5.9

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.

Record
EUVD-2024-29377
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-6p4c-r453-8743 No score

In PuTTY 0.68 through 0.80 before 0.81, biased ECDSA nonce generation allows an attacker to...

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. One 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. Because SSH is sometimes used to authenticate to Git services, it is possible that this vulnerability could be leveraged for supply-chain attacks on software maintained in Git. It is also conceivable that signed messages from PuTTY or Pageant are readable by adversaries more easily in other scenarios, but none have yet been disclosed.

Record
GHSA-6p4c-r453-8743
Updated
2026-11-02
OSVALPINE-CVE-2024-31497 5.9

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.

Record
ALPINE-CVE-2024-31497
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-03
OSV 5.9

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.

Record
CVE-2024-31497
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
Show 6 moreShow less
OSVDEBIAN-CVE-2024-31497 5.9

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.

Record
DEBIAN-CVE-2024-31497
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2024-31497 5.9

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.

Record
UBUNTU-CVE-2024-31497
CVSS 3.1
5.9 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVMGASA-2024-0140 No score

Updated putty & filezilla packages fix security vulnerability

The PuTTY client and all related components generate heavily biased ECDSA nonces in the case of NIST P-521. To be more precise, the first 9 bits of each ECDSA nonce are zero. This allows for full secret key recovery in roughly 60 signatures by using state-of-the-art techniques. These signatures can either be harvested by a malicious server (man-in-the-middle attacks are not possible given that clients do not transmit their signature in the clear) or from any other source, e.g. signed git commits through forwarded agents. The nonce generation for other curves is slightly biased as well. However, the bias is negligible and far from enough to perform lattice-based key recovery attacks (not considering cryptanalytical advancements).

Record
MGASA-2024-0140
Updated
2026-11-02
OSVopenSUSE-SU-2024:0111-1 No score

Security update for putty

This update for putty fixes the following issues:

Update to release 0.81

  • Fix CVE-2024-31497: NIST P521 / ecdsa-sha2-nistp521 signatures are no longer generated with biased values of k. The previous bias compromises private keys.
Record
openSUSE-SU-2024:0111-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13868-1 No score

putty-0.81-1.1 on GA media

These are all security issues fixed in the putty-0.81-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13868-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13870-1 No score

filezilla-3.67.0-1.1 on GA media

These are all security issues fixed in the filezilla-3.67.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13870-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
putty
Alpine:v3.16
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.17
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.18
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.19
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.20
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.21
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.22
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.23
0.68 up to 0.81-r0
0.81-r0
putty
Alpine:v3.24
0.68 up to 0.81-r0
0.81-r0
filezilla
Debian:12
All versions, plus listed versions
3.63.0-13.63.0-1+deb12u13.63.0-1+deb12u23.63.0-1+deb12u33.63.2.1-1
Show 32 moreShow less
3.63.2.1-23.63.2.1-33.63.2.1-43.64.0-13.65.0-13.65.0-23.65.0-33.66.0-13.66.1-13.66.1-23.66.1-33.66.1-3.13.66.1-3.23.66.1-43.66.4-13.66.4-23.66.5-13.66.5-23.67.0-13.67.1-13.67.1-23.67.1~rc1-13.68.0-13.68.0~rc1-13.68.1-13.69.3-13.69.5-13.69.6-13.69.6-23.70.6-13.70.6-23.71.0-1
None known
Show 22 moreShow less
Affected packages
PackageAffectedFixed
filezilla
Debian:13
before 3.67.0-1
3.67.0-1
filezilla
Debian:14
before 3.67.0-1
3.67.0-1
putty
Debian:12
before 0.78-2+deb12u2, plus listed versions
0.78-20.78-2+deb12u1
0.78-2+deb12u2
putty
Debian:13
before 0.81-1
0.81-1
putty
Debian:14
before 0.81-1
0.81-1
putty
Debian:10
before 0.74-1+deb11u1~deb10u2, plus listed versions
0.70-60.71-10.72-10.72-20.73-10.73-20.73-30.74-1
0.74-1+deb11u1~deb10u2
putty
Mageia:9
before 0.81-1.mga9
0.81-1.mga9
filezilla
Mageia:9
before 3.67.0-1.mga9
3.67.0-1.mga9
libfilezilla
Mageia:9
before 0.47.0-1.mga9
0.47.0-1.mga9
filezilla
Ubuntu:16.04:LTS
All versions, plus listed versions
3.12.0.2-1ubuntu23.14.1-1ubuntu13.15.0.2-0ubuntu13.15.0.2-1ubuntu1
None known
putty
Ubuntu:16.04:LTS
All versions, plus listed versions
0.65-20.66-10.66-20.66-30.66-4
Show 4 moreShow less
0.67-10.67-20.67-3build0.16.04.10.67-3+deb9u1build0.16.04.1
None known
filezilla
Ubuntu:18.04:LTS
All versions, plus listed versions
3.27.0~rc1-13.28.0-1
None known
putty
Ubuntu:18.04:LTS
All versions, plus listed versions
0.70-10.70-20.70-30.70-4
None known
filezilla
Ubuntu:20.04:LTS
All versions, plus listed versions
3.39.0-23.45.1-33.45.1-3build13.46.3-1~build13.46.3-13.46.3-1build13.46.3-1ubuntu0.1
None known
putty
Ubuntu:20.04:LTS
All versions, plus listed versions
0.72-10.73-10.73-2
None known
filezilla
Ubuntu:22.04:LTS
All versions, plus listed versions
3.52.2-33.56.0-13.56.2-13.57.0-13.57.0-1build13.58.0-13.58.0-1ubuntu0.1
None known
putty
Ubuntu:22.04:LTS
All versions, plus listed versions
0.75-30.76-10.76-2
None known
filezilla
Ubuntu:24.04:LTS
All versions, plus listed versions
3.65.0-33.66.1-23.66.1-33.66.1-3.23.66.1-4
Show 5 moreShow less
3.66.4-13.66.4-23.66.5-23.66.5-2build13.66.5-2build2
None known
putty
SUSE:Package Hub 15 SP5
before 0.81-bp155.2.6.1
0.81-bp155.2.6.1
putty
openSUSE:Leap 15.5
before 0.81-bp155.2.6.1
0.81-bp155.2.6.1
putty
openSUSE:Tumbleweed
before 0.81-1.1
0.81-1.1
filezilla
openSUSE:Tumbleweed
before 3.67.0-1.1
3.67.0-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubedutko/cve-2024-314972024-04-17
PoC in GitHubsh1k4ku/CVE-2024-314972024-04-17
PoC in GitHubHugoBond/CVE-2024-31497-POC2024-05-10
PoC in GitHubLukaWynants/Onderzoek_CVE-2024-31497-POC2025-10-16

History

History
RecordedChangedSources
affected, exploitsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-31497 is a medium vulnerability (CVSS 5.9) in Putty, published April 15, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 5.73%, the 93rd percentile. Fixed in putty 0.81-r0.

References

Show 33 moreShow less
MoveEnter Open