CVE-2024-45407

6.5 MEDIUM

📋 TL;DR

This vulnerability in Sunshine game streaming software allows an attacker to gain unauthorized access by exploiting a flaw in the pairing process. During a man-in-the-middle attack, if a client attempts pairing with an incorrect PIN, the attacker's certificate is incorrectly saved before authentication fails, granting the attacker persistent access. This affects all Sunshine users who perform client pairing.

💻 Affected Systems

Products:
  • Sunshine
Versions: All versions prior to the fix
Operating Systems: Windows, Linux, macOS
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using Sunshine's pairing functionality. The vulnerability is present in the default configuration when pairing is enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker gains persistent unauthorized access to the Sunshine streaming server, potentially intercepting game streams, accessing system resources, or using the server as a pivot point for further attacks.

🟠

Likely Case

An attacker on the same network intercepts pairing attempts and gains unauthorized access to the Sunshine server, allowing them to view or disrupt game streams.

🟢

If Mitigated

With proper network segmentation and monitoring, the impact is limited to unauthorized access to the Sunshine service only, with no lateral movement to other systems.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires a man-in-the-middle position during the pairing process and knowledge of the pairing workflow.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions with commits 5fcd07ecb1428bfe245ad6fa349aead476c7e772 and fd7e68457a134102d1b30af5796c79f2aa623224

Vendor Advisory: https://github.com/LizardByte/Sunshine/security/advisories/GHSA-jqph-8cp5-g874

Restart Required: Yes

Instructions:

1. Update Sunshine to the latest version. 2. Restart the Sunshine service. 3. Re-pair all clients to ensure old certificates are invalidated.

🔧 Temporary Workarounds

Disable client pairing temporarily

all

Temporarily disable the pairing functionality to prevent exploitation while planning an update.

Edit Sunshine configuration to disable pairing or set to trusted clients only

Network isolation

all

Isolate Sunshine server to trusted network segments only during pairing operations.

Use firewall rules to restrict access to Sunshine port (47984-47990, 48010) during pairing

🧯 If You Can't Patch

  • Isolate Sunshine server to a dedicated VLAN with strict access controls
  • Monitor network traffic for unauthorized pairing attempts and certificate changes

🔍 How to Verify

Check if Vulnerable:

Check Sunshine version against patched versions in the security advisory. Review if pairing functionality is enabled.

Check Version:

sunshine --version or check Sunshine web interface version

Verify Fix Applied:

Verify Sunshine version includes the fix commits. Test pairing process with a controlled MITM scenario to ensure certificates are not persisted on failed attempts.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed pairing attempts from same IP
  • Unexpected certificate changes in Sunshine logs
  • Pairing success followed by immediate failure

Network Indicators:

  • Unusual traffic on Sunshine ports (47984-47990, 48010) during pairing
  • MITM tools like ettercap or bettercap detected on network

SIEM Query:

source="sunshine" AND (event="pairing_failed" OR event="certificate_change") | stats count by src_ip

🔗 References

📤 Share & Export