CVE-2020-29574

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in Cyberoam OS WebAdmin allows unauthenticated attackers to execute arbitrary SQL commands remotely. It affects Cyberoam OS installations through December 4, 2020. Attackers can potentially gain administrative access, extract sensitive data, or compromise the entire system.

💻 Affected Systems

Products:
  • Cyberoam OS
Versions: All versions through 2020-12-04
Operating Systems: Cyberoam OS (based on Linux)
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the WebAdmin interface which is typically enabled by default for management.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise: attackers gain administrative access, extract all configuration data, credentials, and network information, potentially pivoting to internal networks or deploying ransomware.

🟠

Likely Case

Data exfiltration and credential theft: attackers extract administrator credentials, firewall rules, VPN configurations, and user data, leading to further network compromise.

🟢

If Mitigated

Limited impact due to network segmentation, WebAdmin interface not exposed to internet, and proper input validation in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection requires no authentication and can be exploited with simple HTTP requests to the WebAdmin interface.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 2020-12-04

Vendor Advisory: https://www.cyberoam.com/ngfw.html

Restart Required: Yes

Instructions:

1. Log into Cyberoam WebAdmin interface
2. Navigate to System > Maintenance > Firmware Upgrade
3. Upload and install the latest firmware version
4. Reboot the device after installation completes

🔧 Temporary Workarounds

Restrict WebAdmin Access

linux

Limit WebAdmin interface access to trusted IP addresses only using firewall rules.

# Configure firewall to allow only specific IPs to port 443 (HTTPS) and 80 (HTTP)
# Example: iptables -A INPUT -p tcp --dport 443 -s TRUSTED_IP -j ACCEPT
# iptables -A INPUT -p tcp --dport 443 -j DROP

Disable WebAdmin Interface

linux

Temporarily disable the WebAdmin interface and use CLI or local console for management.

# Disable HTTP/HTTPS services
# service httpd stop
# chkconfig httpd off

🧯 If You Can't Patch

  • Implement strict network segmentation: Isolate Cyberoam devices in a management VLAN with restricted access.
  • Deploy a web application firewall (WAF) in front of the WebAdmin interface to filter SQL injection attempts.

🔍 How to Verify

Check if Vulnerable:

Check Cyberoam OS version via WebAdmin: System > About > Firmware Version. If version date is 2020-12-04 or earlier, system is vulnerable.

Check Version:

# From CLI: show system version
# From WebAdmin: System > About

Verify Fix Applied:

Verify firmware version shows date after 2020-12-04. Test WebAdmin interface functionality remains intact.

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts followed by successful access
  • WebAdmin access from unexpected IP addresses

Network Indicators:

  • HTTP POST requests to WebAdmin with SQL keywords (SELECT, UNION, etc.) in parameters
  • Unusual outbound connections from Cyberoam device

SIEM Query:

source="cyberoam_logs" AND (http_uri="*WebAdmin*" AND (http_query="*SELECT*" OR http_query="*UNION*" OR http_query="*INSERT*"))

🔗 References

📤 Share & Export