CVE-2021-36777

8.1 HIGH

📋 TL;DR

This vulnerability in openSUSE Build Service login proxy allows attackers to create fake login forms that capture user credentials in plain text and send them to attacker-controlled servers. It affects users of openSUSE Build Service versions prior to the fixed commit. Attackers can steal credentials from legitimate users attempting to authenticate.

💻 Affected Systems

Products:
  • openSUSE Build Service login-proxy-scripts
Versions: All versions prior to commit dc000cdfe9b9b715fb92195b1a57559362f689ef
Operating Systems: openSUSE Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects the login proxy component specifically; requires the login proxy to be enabled and accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers steal administrative credentials, gain full control of the build service infrastructure, and potentially compromise downstream software packages.

🟠

Likely Case

Attackers capture user credentials, gain unauthorized access to build service accounts, and potentially inject malicious code into software packages.

🟢

If Mitigated

With proper network segmentation and monitoring, credential theft is detected before attackers can use stolen credentials for further access.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking users into interacting with a malicious login form, making it a social engineering component.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Commit dc000cdfe9b9b715fb92195b1a57559362f689ef or later

Vendor Advisory: https://bugzilla.suse.com/show_bug.cgi?id=1191209

Restart Required: Yes

Instructions:

1. Update openSUSE Build Service to version containing commit dc000cdfe9b9b715fb92195b1a57559362f689ef or later. 2. Restart the login proxy service. 3. Verify the fix by checking the commit hash in the installed version.

🔧 Temporary Workarounds

Disable Login Proxy

linux

Temporarily disable the vulnerable login proxy component if not essential.

systemctl stop login-proxy
systemctl disable login-proxy

Network Access Control

linux

Restrict network access to the login proxy to trusted IP ranges only.

iptables -A INPUT -p tcp --dport [login-proxy-port] -s [trusted-ip-range] -j ACCEPT
iptables -A INPUT -p tcp --dport [login-proxy-port] -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate the build service from untrusted networks.
  • Deploy web application firewalls (WAF) to detect and block credential harvesting attempts.

🔍 How to Verify

Check if Vulnerable:

Check the git commit hash of the installed login-proxy-scripts package; if earlier than dc000cdfe9b9b715fb92195b1a57559362f689ef, it is vulnerable.

Check Version:

git log --oneline -1 /path/to/login-proxy-scripts

Verify Fix Applied:

Verify the commit hash is dc000cdfe9b9b715fb92195b1a57559362f689ef or later after patching.

📡 Detection & Monitoring

Log Indicators:

  • Unusual login attempts from unexpected IP addresses
  • Log entries showing credential submissions to non-standard endpoints

Network Indicators:

  • Outbound HTTP/HTTPS connections from the login proxy to unknown external servers
  • Suspicious redirect patterns in login flows

SIEM Query:

source="login-proxy" AND (url="*malicious-domain*" OR dest_ip="[external-ip-range]")

🔗 References

📤 Share & Export