CVE-2020-12658

9.8 CRITICAL

📋 TL;DR

CVE-2020-12658 is a critical vulnerability in gssproxy (GSS-API proxy daemon) where improper mutex handling during shutdown can cause denial of service. The flaw allows an attacker to crash the gssproxy service, potentially disrupting authentication services that rely on it. Systems using gssproxy versions before 0.8.3 for GSS-API authentication are affected.

💻 Affected Systems

Products:
  • gssproxy
  • gss-proxy
Versions: All versions before 0.8.3
Operating Systems: Linux distributions including RHEL, CentOS, Fedora, Debian, Ubuntu
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems where gssproxy is installed and running. Many systems may not have it installed by default.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete denial of service for all GSS-API authentication services, potentially disrupting system authentication and causing system instability.

🟠

Likely Case

Service crash leading to temporary authentication failures until service restart.

🟢

If Mitigated

Minimal impact if gssproxy is not critical for authentication or if redundant authentication mechanisms exist.

🌐 Internet-Facing: MEDIUM - gssproxy is typically used internally for authentication, but could be exposed if misconfigured.
🏢 Internal Only: HIGH - gssproxy is commonly used in enterprise environments for internal authentication services.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

The vulnerability is triggered during shutdown, making exploitation timing-dependent. Upstream maintainers question the practical exploitability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.8.3 and later

Vendor Advisory: https://pagure.io/gssproxy/c/cb761412e299ef907f22cd7c4146d50c8a792003?branch=master

Restart Required: Yes

Instructions:

1. Update gssproxy to version 0.8.3 or later using your distribution's package manager. 2. For RHEL/CentOS: 'yum update gssproxy'. 3. For Debian/Ubuntu: 'apt-get update && apt-get install gssproxy'. 4. Restart the gssproxy service: 'systemctl restart gssproxy'.

🔧 Temporary Workarounds

Disable gssproxy if not needed

linux

Stop and disable the gssproxy service if your system doesn't require GSS-API authentication proxying.

systemctl stop gssproxy
systemctl disable gssproxy

Implement service monitoring and auto-restart

linux

Configure monitoring to automatically restart gssproxy if it crashes.

systemctl edit gssproxy
Add: Restart=always under [Service] section

🧯 If You Can't Patch

  • Implement strict network controls to limit access to gssproxy service
  • Monitor gssproxy process health and implement alerting for service crashes

🔍 How to Verify

Check if Vulnerable:

Check gssproxy version: 'gssproxy --version' or 'rpm -q gssproxy' or 'dpkg -l | grep gssproxy'

Check Version:

gssproxy --version 2>/dev/null || rpm -q gssproxy 2>/dev/null || dpkg -l | grep gssproxy

Verify Fix Applied:

Verify version is 0.8.3 or higher: 'gssproxy --version' should show 0.8.3+

📡 Detection & Monitoring

Log Indicators:

  • gssproxy service crash logs in systemd journal: 'journalctl -u gssproxy --since "1 hour ago"'
  • Segmentation fault or abnormal termination messages in /var/log/messages

Network Indicators:

  • Failed GSS-API authentication attempts
  • Unresponsive authentication services

SIEM Query:

source="systemd" AND program="gssproxy" AND ("segmentation fault" OR "crash" OR "terminated")

🔗 References

📤 Share & Export