CVE-2021-38159

9.8 CRITICAL

📋 TL;DR

CVE-2021-38159 is a critical SQL injection vulnerability in Progress MOVEit Transfer that allows unauthenticated remote attackers to execute arbitrary SQL commands against the database. This could lead to data theft, database manipulation, or complete system compromise. All MOVEit Transfer installations running affected versions are vulnerable.

💻 Affected Systems

Products:
  • Progress MOVEit Transfer
Versions: All versions before 2019.0.8 (11.0.8), 2019.1.7 (11.1.7), 2019.2.4 (11.2.4), 2020.0.7 (12.0.7), 2020.1.6 (12.1.6), and 2021.0.4 (13.0.4)
Operating Systems: Windows Server (primary platform), Linux (supported deployments)
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all database backends: MySQL, Microsoft SQL Server, and Azure SQL. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data exfiltration, data destruction, privilege escalation to operating system, and potential ransomware deployment.

🟠

Likely Case

Database information disclosure, data manipulation, and potential credential theft leading to further system access.

🟢

If Mitigated

Limited impact with proper network segmentation, WAF rules blocking SQL injection patterns, and database user privilege restrictions.

🌐 Internet-Facing: HIGH - Unauthenticated remote exploitation makes internet-facing instances extremely vulnerable to automated attacks.
🏢 Internal Only: HIGH - Even internal instances are vulnerable to any network-accessible attacker, including compromised internal systems.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Multiple public proof-of-concept exploits exist. The vulnerability is actively exploited in the wild, particularly by ransomware groups targeting file transfer systems.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2019.0.8 (11.0.8), 2019.1.7 (11.1.7), 2019.2.4 (11.2.4), 2020.0.7 (12.0.7), 2020.1.6 (12.1.6), or 2021.0.4 (13.0.4) depending on your version

Vendor Advisory: https://community.progress.com/s/article/MOVEit-Transfer-Vulnerability-August-6-2021

Restart Required: Yes

Instructions:

1. Backup your MOVEit Transfer database and configuration. 2. Download the appropriate patch from Progress Software support portal. 3. Stop MOVEit Transfer services. 4. Apply the patch following vendor instructions. 5. Restart services and verify functionality.

🔧 Temporary Workarounds

Web Application Firewall Rules

all

Implement WAF rules to block SQL injection patterns targeting MOVEit Transfer endpoints

WAF-specific configuration - implement rules blocking patterns like UNION SELECT, information_schema queries, and SQL comment sequences

Network Segmentation

all

Restrict access to MOVEit Transfer to only trusted IP addresses

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_IP" port protocol="tcp" port="443" accept' (Linux)
New-NetFirewallRule -DisplayName "MOVEit Access" -Direction Inbound -Protocol TCP -LocalPort 443 -RemoteAddress TRUSTED_IP -Action Allow (Windows)

🧯 If You Can't Patch

  • Immediately isolate the MOVEit Transfer server from internet access and restrict to minimal necessary internal network segments
  • Implement database user privilege reduction - ensure MOVEit database user has only necessary permissions, not sysadmin/db_owner

🔍 How to Verify

Check if Vulnerable:

Check MOVEit Transfer version in web interface (Admin > About) or examine installed version in Windows Programs & Features

Check Version:

On Windows: Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like "*MOVEit*"} | Select-Object Name, Version

Verify Fix Applied:

Verify version is patched (2019.0.8+, 2019.1.7+, 2019.2.4+, 2020.0.7+, 2020.1.6+, or 2021.0.4+) and test SQL injection attempts are blocked

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL error messages in MOVEit logs
  • Multiple failed login attempts followed by SQL syntax in requests
  • Database connection errors or unusual query patterns

Network Indicators:

  • HTTP requests containing SQL keywords (UNION, SELECT, INFORMATION_SCHEMA) to MOVEit endpoints
  • Unusual outbound database connections from MOVEit server

SIEM Query:

source="moveit.logs" AND ("sql" OR "union" OR "select" OR "information_schema") AND status=200

🔗 References

📤 Share & Export