CVE-2020-1206 Overview
An information disclosure vulnerability exists in the way that the Microsoft Server Message Block 3.1.1 (SMBv3) protocol handles certain requests. This vulnerability, commonly referred to as "SMBleed," allows attackers to read uninitialized kernel memory from both SMB client and server systems remotely over the network without authentication.
Critical Impact
Attackers can exploit this vulnerability to extract sensitive kernel memory contents from Windows systems, potentially exposing credentials, cryptographic keys, and other security-sensitive data stored in kernel memory.
Affected Products
- Microsoft Windows 10 version 1903
- Microsoft Windows 10 version 1909
- Microsoft Windows 10 version 2004
- Microsoft Windows Server 2016 version 1903
- Microsoft Windows Server 2016 version 1909
- Microsoft Windows Server 2016 version 2004
Discovery Timeline
- 2020-06-09 - CVE-2020-1206 published to NVD
- 2024-11-21 - Last updated in NVD database
Technical Details for CVE-2020-1206
Vulnerability Analysis
CVE-2020-1206, dubbed "SMBleed," is an Uninitialized Memory Use vulnerability (CWE-908) affecting the SMBv3 protocol implementation in Microsoft Windows. The vulnerability stems from improper handling of memory during SMB3 message decompression, allowing attackers to read uninitialized kernel memory remotely.
The flaw exists in the same SMB compression feature that was affected by the related SMBGhost vulnerability (CVE-2020-0796). When the SMB server or client processes specially crafted compressed messages, it fails to properly initialize certain memory structures before use, leading to information leakage.
This vulnerability can be exploited without authentication, making it particularly dangerous in enterprise environments where SMB services are exposed. The information leaked could include sensitive kernel data such as memory addresses useful for bypassing Address Space Layout Randomization (ASLR), credentials, or cryptographic material.
Root Cause
The root cause of CVE-2020-1206 is the use of uninitialized kernel memory (CWE-908) in the SMBv3 compression handling code. When processing SMB3 messages with compression enabled, the Windows kernel fails to properly initialize memory buffers before returning data to the remote client. This allows portions of kernel memory that were previously used for other purposes to be inadvertently transmitted to an attacker, resulting in information disclosure.
Attack Vector
The attack can be executed remotely over the network without requiring authentication. An attacker can exploit this vulnerability by sending specially crafted compressed SMB3 packets to a vulnerable Windows SMB server (port 445) or by luring a victim to connect to a malicious SMB server. The attack does not require user interaction when targeting servers, and confidentiality impact is significant as kernel memory contents can be exposed.
The vulnerability affects both the SMB client and server components, meaning:
- Server-side exploitation: An unauthenticated attacker can send malicious SMB packets to a vulnerable server to leak kernel memory
- Client-side exploitation: A malicious server can respond to SMB connections with crafted packets to leak kernel memory from connecting clients
Detection Methods for CVE-2020-1206
Indicators of Compromise
- Unusual SMB traffic on port 445 with malformed or unexpected compression headers
- High volume of SMB3 connection attempts from external or unusual source IP addresses
- SMB traffic containing abnormal OriginalCompressedSegmentSize values in compression headers
- Endpoint detection alerts for known SMBleed exploitation tools or techniques
Detection Strategies
- Monitor network traffic for SMB3 connections with anomalous compression parameters
- Deploy intrusion detection signatures for SMBleed exploitation attempts targeting malformed SMB3 packets
- Implement behavioral analysis to detect unusual memory access patterns from the srv2.sys driver
- Enable Windows Event logging for SMB connections and analyze for suspicious patterns
Monitoring Recommendations
- Enable detailed SMB auditing in Windows Security logs (Event IDs 5140, 5145)
- Monitor for connections to port 445 from untrusted networks or unexpected sources
- Implement network segmentation to limit SMB exposure and enable east-west traffic monitoring
- Deploy endpoint detection and response (EDR) solutions capable of monitoring kernel-level SMB operations
How to Mitigate CVE-2020-1206
Immediate Actions Required
- Apply Microsoft security update KB4560960 or the appropriate cumulative update for your Windows version immediately
- Block TCP port 445 at the network perimeter to prevent external exploitation
- Disable SMBv3 compression as a temporary mitigation if immediate patching is not possible
- Review network segmentation to ensure SMB services are not exposed to untrusted networks
Patch Information
Microsoft has released security updates to address this vulnerability. The official patch is available through Windows Update and the Microsoft Update Catalog. Refer to the Microsoft Security Advisory for CVE-2020-1206 for specific patch versions and download links for affected Windows versions.
Additional technical analysis and proof-of-concept information is available at Packet Storm's SMBleed advisory.
Workarounds
- Disable SMBv3 compression using PowerShell: Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "DisableCompression" -Type DWORD -Value 1 -Force
- Block inbound SMB traffic (TCP port 445) at the enterprise firewall for external connections
- Implement network segmentation to isolate file servers and limit SMB access to trusted internal systems
- Consider disabling SMBv3 entirely and falling back to SMBv2 in high-security environments where compression is not required
# Disable SMBv3 compression on Windows Server (PowerShell)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" `
-Name "DisableCompression" `
-Type DWORD `
-Value 1 `
-Force
# Verify the setting was applied
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" `
-Name "DisableCompression"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


