CVE-2020-15382

7.2 HIGH

📋 TL;DR

This vulnerability allows attackers to gain administrative access to Brocade SANnav's PostgreSQL database using a hard-coded weak password ('passw0rd') when no password was set during installation. This affects all Brocade SANnav deployments before version 2.1.1 where PostgreSQL was installed without a custom password.

💻 Affected Systems

Products:
  • Brocade SANnav
Versions: All versions before 2.1.1
Operating Systems: Any OS running Brocade SANnav
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable if PostgreSQL was installed without specifying a password during SANnav installation. Systems with custom PostgreSQL passwords are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full compromise of the SANnav management system, allowing attackers to access, modify, or delete sensitive storage network configuration data, potentially disrupting SAN operations or enabling lateral movement to connected storage systems.

🟠

Likely Case

Unauthorized database access leading to information disclosure of SAN configuration, performance metrics, and potentially credentials for connected storage devices.

🟢

If Mitigated

Limited impact if strong network segmentation and access controls prevent external or unauthorized internal access to the PostgreSQL service.

🌐 Internet-Facing: HIGH if PostgreSQL port (default 5432) is exposed to the internet, as attackers can easily brute-force or guess the weak password.
🏢 Internal Only: HIGH for internal networks, as the weak password is trivial to guess and could be exploited by malicious insiders or compromised internal systems.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires network access to PostgreSQL port (default 5432) and knowledge of the hard-coded password. No authentication or special privileges needed beyond network connectivity.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.1 and later

Vendor Advisory: https://www.broadcom.com/support/fibre-channel-networking/security-advisories/brocade-security-advisory-2021-1484

Restart Required: Yes

Instructions:

1. Download Brocade SANnav version 2.1.1 or later from Broadcom support portal. 2. Follow the upgrade procedure documented in the SANnav installation guide. 3. Verify PostgreSQL password is properly configured during upgrade.

🔧 Temporary Workarounds

Change PostgreSQL Password

linux

Manually change the PostgreSQL administrator password to a strong, unique value

psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'new_strong_password';"
Update SANnav configuration to use the new password

Network Access Control

linux

Restrict network access to PostgreSQL port (default 5432) using firewall rules

iptables -A INPUT -p tcp --dport 5432 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 5432 -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate SANnav PostgreSQL service from untrusted networks
  • Change PostgreSQL password immediately to a strong, unique value and monitor for unauthorized access attempts

🔍 How to Verify

Check if Vulnerable:

Attempt to connect to PostgreSQL on port 5432 using username 'postgres' and password 'passw0rd'. If connection succeeds, system is vulnerable.

Check Version:

Check SANnav version in web interface or via 'sannav --version' if available

Verify Fix Applied:

Verify SANnav version is 2.1.1 or later via SANnav web interface or command line. Test that PostgreSQL no longer accepts 'passw0rd' as password.

📡 Detection & Monitoring

Log Indicators:

  • Failed or successful authentication attempts to PostgreSQL with username 'postgres'
  • Unusual database queries or connections from unexpected IP addresses

Network Indicators:

  • Connection attempts to port 5432 from unauthorized sources
  • Brute-force attempts against PostgreSQL service

SIEM Query:

source="postgresql.log" AND ("authentication failed" OR "password authentication failed") AND user="postgres"

🔗 References

📤 Share & Export