How to Fix SambaCry Vulnerability (CVE-2017-7494) in Linux Systems?


As technology advances, so too do cyber threats. Protecting your network from these threats has never been more important.

One such threat is the SambaCry vulnerability (CVE-2017-7494), which has the potential to compromise entire networks if left unaddressed. In this article, we will discuss what SambaCry is, why it's important to fix it, and how to address the vulnerability on your Linux system.

Understanding Samba and SambaCry Vulnerability

What is Samba?

Samba is an open-source software package that allows interoperability between Linux/Unix servers and Windows-based clients. It allows Linux/Unix servers to provide services such as file and printer sharing to Windows-based clients. The name "Samba" comes from SMB (Server Message Block), the protocol used by Microsoft Windows for sharing files, printers, and other resources over a network.

What is SambaCry Vulnerability?

SambaCry vulnerability (CVE-2017-7494) refers to a security flaw found in the SMB/CIFS networking protocol implemented in Samba version 3.5.0 onwards. This vulnerability allows remote attackers to execute arbitrary code on the vulnerable system by sending specially crafted packets over the network. It is called "SambaCry" because it was discovered around the same time as the WannaCry ransomware attack that exploited another SMB vulnerability.

How does it work?

The SambaCry vulnerability works by exploiting a buffer overflow condition in the smbd daemon, which listens on TCP port 445 for incoming connections from clients using SMB/CIFS protocol. By sending a specially crafted packet containing too much data, an attacker can cause smbd to crash or execute arbitrary code with root privileges on the target system. Once inside, an attacker can perform various malicious activities such as downloading and executing malware, stealing sensitive data or encrypting files for ransom purposes.

It is important to note that this vulnerability affects not only Linux systems running Samba but also other devices such as routers, NAS (Network Attached Storage) devices, and IoT (Internet of Things) devices that use embedded versions of Samba. Therefore, it is critical for users of these systems/devices to understand how this vulnerability works and take necessary precautions to protect their systems from exploitation.

Checking if Your System is Affected by SambaCry Vulnerability

Using Command Line Tools to Check for Vulnerability

Before proceeding with the fixes, it is imperative to ensure that your system is indeed vulnerable to the SambaCry exploit. Linux systems have several command line tools you can use to check for the presence of this vulnerability. One such tool is "nmap", which allows you to scan your system for open ports and services.

To scan your system using nmap, first, ensure that nmap is installed on your system using the package manager for your distribution. Once installed, run the following command −

sudo nmap -p 445 --script smb-vuln-cve-2017-7494 

Replace `` with the IP address of the target machine.

The output will show whether or not the target machine is vulnerable. Another command line tool you can use is "smbclient".

This tool scans a specific server service on a remote host and can be used to check if a particular version of Samba server service running on an IP address contains vulnerabilities exploited by Sambacry. To use smbclient, run −

smbclient ///IPC$ -N 

If there are no errors in response, then this indicates that there are no vulnerabilities detected in Samba.

Using Vulnerability Scanners to Check for Vulnerability

In addition to command line tools, vulnerability scanners can be utilized as well. One such popular scanner that could be used here is Nessus scanner.

Once Nessus has been installed and configured on your Linux system or virtual machine hosting the scanner (which could be run via Docker containers), add a new scan policy and select “Advanced Scan” from Policy Templates list at start page. In “Advanced Scan” settings, you can select SMB Vulnerabilities template to configure the scan. This will automatically check for SambaCry vulnerability on the specified IP range.

The Nessus scanner's report should show if the target system is vulnerable to SambaCry or not. It is recommended to run both types of tests (command line and vulnerability scanner) to ensure that your system is not exposed to this vulnerability.

Fixing the Vulnerability

Updating your system with the latest patches

One of the first steps to fix the SambaCry vulnerability is to update your Linux system with the latest patches and security updates. To do this, you can type the following command in your terminal −

sudo apt-get update && sudo apt-get upgrade

This will update all packages on your system and apply any available security updates. It's important to keep in mind that this command may take a few minutes to complete, depending on how many packages need to be updated.

It's also recommended that you regularly check for new updates and apply them as soon as possible, as new vulnerabilities can emerge at any time. By keeping your system up-to-date with the latest security patches, you'll be able to mitigate potential risks and protect your network from attacks.

Applying security updates to your system

In addition to updating your Linux system with the latest patches, it's important to regularly check for and apply any available security updates. These updates are designed specifically to help protect against known vulnerabilities like SambaCry. To check for available security updates, type the following command in your terminal −

sudo apt-get install unattended-upgrades

This command installs a tool that automatically downloads and installs critical security upgrades on your Linux system. It's one of the easiest ways to stay protected against vulnerabilities like SambaCry.

Disabling SMBv1 protocol on your system

Another way to fix SambaCry vulnerability is by disabling SMBv1 protocol on your Linux system. This protocol is used by older versions of Windows operating systems (such as Windows XP) for file sharing over a network connection. To disable SMBv1 protocol on Linux systems such as Ubuntu 16.04 LTS or later, type the following command in your terminal −

echo "[global] 
client min protocol = SMB2" | sudo tee -a /etc/samba/smb.conf

This command disables SMBv1 protocol and forces the system to use SMBv2 or later versions. However, it's important to note that this may cause compatibility issues with older versions of Windows operating systems.

Updating your Linux system with the latest patches and security updates, applying any available security updates, and disabling SMBv1 protocol are effective ways to fix SambaCry vulnerability. By taking these steps, you can help protect your network from potential attacks and keep your data safe.


The SambaCry Vulnerability is a serious threat to Linux systems and needs to be addressed immediately. We have outlined the steps required to determine if your system is vulnerable and how to fix it. Installing security updates, disabling SMBv1 protocol, and implementing additional security measures will help protect your system from future attacks.

We began by explaining what SambaCry Vulnerability is and how it works. We then provided methods for checking if your system is affected by the vulnerability. After identifying that your system is vulnerable, we provided steps for fixing it including updating your system with latest patches, applying security updates to your system, and disabling SMBv1 protocol on your system.

It’s important to note that fixing the SambaCry Vulnerability should not be seen as a one-time task but rather an ongoing process. Regularly conducting security audits and staying up-to-date with security updates will help prevent future vulnerabilities from being exploited.

Updated on: 05-Jun-2023


Kickstart Your Career

Get certified by completing the course

Get Started