Home
|
FAQ
|
Feedback
|
Licence
|
Updates
|
Mirrors
|
Keys
|
Links
|
Team
Download:
Stable
·
Snapshot
|
Docs
|
Privacy
|
Changes
|
Wishlist
In version 0.75, Pageant acquired the ability to store a private key still encrypted, and when a client first attempts to use the key, display a prompt for the passphrase.
If that passphrase prompt is still in progress, and another client of Pageant deletes the key from the agent, then when the user finishes entering a passphrase at the prompt, Pageant will access freed memory, and probably crash.
This is a vulnerability, because a use-after-free bug could cause uncontrolled behaviour, including leaks of private material.
A malicious SSH server could attempt to provoke this bug using agent forwarding, by noticing the presence of a still-encrypted key using Pageant's extended key list command, and then issuing signing and deletion requests in quick succession. They can do this even if you were not using the deferred decryption feature yourself, by first sending a request to add an encrypted PPK file to the agent.
There's a possibility that, by following those requests with further requests to load a key, the attacker could also cause Pageant to reuse the freed memory with data of its choice. So this could be a more serious vulnerability than a DoS.
If so, then you aren't safe just because you don't use deferred decryption. A malicious user who can access Pageant over agent forwarding could also load an encrypted key into Pageant simply in order to try to catch you out with this vulnerability!
This vulnerability was reported by Yazdan Soltani.