CVE-2026-48850 Overview
CVE-2026-48850 is a double free vulnerability [CWE-415] affecting PuTTY versions 0.72 through 0.83. The flaw resides in the RSA key exchange (KEX) implementation used during Secure Shell (SSH) session negotiation. A malicious or compromised SSH server can trigger the same memory region to be freed twice during the RSA KEX handshake. Exploitation produces memory corruption that can crash the PuTTY client process. The issue affects the widely used Windows SSH and Telnet client maintained by Simon Tatham.
Critical Impact
A hostile SSH server performing RSA key exchange can corrupt heap memory in connecting PuTTY clients, causing denial of service and potentially enabling further memory-safety exploitation.
Affected Products
- PuTTY 0.72 through 0.83
- PuTTY-derived tools bundled with the affected releases (pscp, psftp, plink)
- Third-party applications embedding the vulnerable PuTTY codebase
Discovery Timeline
- 2026-05-25 - CVE-2026-48850 published to NVD
- 2026-05-27 - Last updated in NVD database
Technical Details for CVE-2026-48850
Vulnerability Analysis
The vulnerability is a double free [CWE-415] in the RSA key exchange code path. RSA KEX, defined in RFC 4432, is one of several SSH key exchange methods PuTTY supports. During the handshake, the server sends a transient RSA public key that the client uses to encrypt a shared secret. The flaw causes a heap allocation tied to this exchange to be released twice. Double free conditions corrupt heap metadata, which can lead to allocator state inconsistencies, crashes, or controlled write primitives depending on the allocator in use.
The CWE-415 classification indicates the bug is a memory-safety defect rather than a protocol logic flaw. Attack complexity is high because the attacker must control or impersonate an SSH server and induce the client into negotiating RSA KEX specifically.
Root Cause
The root cause is improper memory ownership tracking inside the RSA KEX handler. A buffer or key structure is freed on one code path and then freed again when the same object is released by cleanup logic at the end of the exchange. The PuTTY maintainers document the issue in the PuTTY Wishlist Analysis.
Attack Vector
Exploitation requires a victim to initiate an SSH connection to an attacker-controlled server, or for an attacker to intercept and impersonate a legitimate server. The server must negotiate RSA KEX and send crafted handshake messages that drive PuTTY through the vulnerable free sequence. No user authentication is required because the bug triggers before credential exchange. Successful exploitation produces a client-side crash; weaponization into code execution would require additional heap-grooming primitives not described in the advisory.
No public proof-of-concept code or exploit is available. See the PuTTY Announcement List for vendor details.
Detection Methods for CVE-2026-48850
Indicators of Compromise
- Unexpected crashes of putty.exe, plink.exe, pscp.exe, or psftp.exe shortly after initiating an SSH connection
- Windows Error Reporting entries showing heap corruption faults in PuTTY processes
- SSH sessions terminating during key exchange before authentication completes
Detection Strategies
- Inventory installed PuTTY versions across endpoints and flag any build between 0.72 and 0.83 inclusive
- Monitor process telemetry for PuTTY binaries terminating with access violation or heap corruption exit codes
- Correlate client crashes with outbound SSH connections to untrusted or newly observed destinations
Monitoring Recommendations
- Log outbound SSH connections (TCP/22 and non-standard ports) initiated by PuTTY binaries and review destinations against threat intelligence
- Alert on SSH sessions that terminate before authentication completes, which may indicate KEX-stage exploitation attempts
- Capture PuTTY crash dumps for forensic analysis when client processes terminate unexpectedly
How to Mitigate CVE-2026-48850
Immediate Actions Required
- Upgrade PuTTY to version 0.84 or later on all systems where it is installed
- Audit third-party software for embedded PuTTY components and apply vendor updates
- Restrict outbound SSH connections to known, trusted hosts where operationally feasible
Patch Information
PuTTY 0.84 contains the fix for the RSA KEX double free. Download the patched release from the official PuTTY site and verify integrity using the published signatures. Refer to the PuTTY Announcement List for release notes and to the PuTTY Wishlist Analysis for technical details.
Workarounds
- Disable RSA key exchange in PuTTY session configuration by removing it from the KEX algorithm preference list under Connection → SSH → Kex
- Connect only to SSH servers under organizational control until patching is complete
- Use SSH host key verification and pinning to reduce exposure to server impersonation
# Configuration example: remove RSA KEX from preferred algorithms via PuTTY registry settings
# Edit HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\<SessionName>
# Set KEX value to exclude rsa, e.g.:
reg add "HKCU\Software\SimonTatham\PuTTY\Sessions\Default%20Settings" /v KEX /t REG_SZ /d "ecdh,dh-gex-sha1,dh-group14-sha1,WARN" /f
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

