CVE-2026-4115
Received Received - Intake
Improper Signature Verification in PuTTY Ed25519 Component

Publication date: 2026-03-22

Last updated on: 2026-04-30

Assigner: VulDB

Description
A vulnerability was detected in PuTTY 0.83. Affected is the function eddsa_verify of the file crypto/ecc-ssh.c of the component Ed25519 Signature Handler. The manipulation results in improper verification of cryptographic signature. The attack may be performed from remote. The attack requires a high level of complexity. The exploitability is told to be difficult. The exploit is now public and may be used. The real existence of this vulnerability is still doubted at the moment. The patch is identified as af996b5ec27ab79bae3882071b9d6acf16044549. It is advisable to implement a patch to correct this issue. The vendor was contacted early, responded in a very professional manner and quickly released a patch for the affected product. However, at the moment there is no proof that this flaw might have any real-world impact.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-22
Last Modified
2026-04-30
Generated
2026-05-07
AI Q&A
2026-03-22
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
putty putty 0.83
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-345 The product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data.
CWE-347 The product does not verify, or incorrectly verifies, the cryptographic signature for data.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

[{'type': 'paragraph', 'content': "CVE-2026-4115 is a vulnerability in PuTTY version 0.83 affecting the Ed25519 signature verification implementation in the function eddsa_verify within the file crypto/ecc-ssh.c. The issue arises because the code does not enforce the strict upper bound on the signature component 's' as required by RFC 8032. Specifically, the value 's' in an EdDSA signature must be less than the curve's base point order to ensure a unique, canonical signature encoding. Prior to the fix, PuTTY accepted signatures where 's' was equal to or greater than this order, allowing malformed signatures to be accepted."}, {'type': 'paragraph', 'content': "This flaw introduces signature malleability, meaning an attacker can modify a valid signature into a different, yet still accepted, signature for the same message by adding the curve order to 's'. Although this does not allow forging signatures on new data, it violates the canonical form requirement and can affect systems relying on strong unforgeability."}, {'type': 'paragraph', 'content': "The vulnerability was recognized as a correctness issue rather than a direct security flaw in SSH contexts, since SSH does not rely on signature canonicality. The PuTTY developers quickly released a patch (commit af996b5ec27ab79bae3882071b9d6acf16044549) that adds an explicit check rejecting signatures with 's' values not strictly less than the curve order, aligning the implementation with RFC 8032."}] [1, 4]


How can this vulnerability impact me? :

[{'type': 'paragraph', 'content': "The vulnerability allows signature malleability, meaning an attacker can transform a valid Ed25519 signature into a different signature that is still accepted by PuTTY's verification process. This could potentially cause issues where systems expect signatures to be unique and canonical."}, {'type': 'paragraph', 'content': 'In the context of SSH, this malleability does not enable forging signatures on new messages or compromise session security, because the signature is transmitted in cleartext and not used in subsequent cryptographic operations like hashing or message authentication codes.'}, {'type': 'paragraph', 'content': 'However, the malleability could cause denial-of-service scenarios by poisoning host key caches if an attacker alters CA signatures to non-canonical forms, causing signature validation failures and preventing users from seeing modified fingerprints.'}, {'type': 'paragraph', 'content': 'Overall, the exploitability is difficult and requires a high level of complexity. There is no proof that this flaw has any real-world impact, but it is advisable to apply the patch to prevent potential issues related to signature malleability.'}] [4]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

[{'type': 'paragraph', 'content': 'This vulnerability can be detected by verifying whether PuTTY\'s Ed25519 signature verification improperly accepts signatures where the scalar component S is replaced by S + L, with L being the group order. A practical approach is to use the verification tool provided in the GitHub repository "putty-ed25519-malleability-s-plus-l" which automates this check.'}, {'type': 'paragraph', 'content': "The repository includes a script named `check.sh` that builds PuTTY's `testcrypt` executable if not already present, then runs a proof-of-concept test to check for the vulnerability. If PuTTY is vulnerable, the output will indicate acceptance of both the original and malleated signatures."}, {'type': 'list_item', 'content': 'Clone the repository: `git clone https://github.com/py-thok/putty-ed25519-malleability-s-plus-l`'}, {'type': 'list_item', 'content': 'Run the check script: `./check.sh` (this will build and test the PuTTY verifier)'}, {'type': 'list_item', 'content': 'Observe the output for lines like:\n```\nputty verify(orig) = True\nputty verify(S+L) = True\n```\nwhich indicate vulnerability.'}] [2]


What immediate steps should I take to mitigate this vulnerability?

[{'type': 'paragraph', 'content': "The primary mitigation step is to apply the official patch identified by commit af996b5ec27ab79bae3882071b9d6acf16044549 to PuTTY. This patch enforces the canonicality check on the scalar component S in EdDSA signatures, rejecting any signatures where S is greater than or equal to the curve's base point order."}, {'type': 'paragraph', 'content': 'Since the vulnerability is related to signature malleability and does not currently have demonstrated real-world impact, patching PuTTY to the fixed version is advisable to ensure compliance with RFC 8032 and prevent potential malleability issues.'}, {'type': 'list_item', 'content': 'Update PuTTY to version 0.83 or later that includes the patch af996b5ec27ab79bae3882071b9d6acf16044549.'}, {'type': 'list_item', 'content': 'If building from source, apply the patch manually from the commit linked in the patch repository.'}, {'type': 'list_item', 'content': 'Verify the fix by running the provided test cases or the verification tool from the GitHub repository.'}] [1, 4]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart