Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain retained paired-client private key
-
DeliveryDerive alternate or re-encoded certificate from paired cert
-
ExploitPresent certificate in GameStream TLS handshake
-
ExecutionPass chain-based check, bypassing exact-identity match
-
ImpactRegain stream access despite Disable control
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the attacker's client was previously paired with the target Sunshine host AND that the attacker still holds that paired client's private key; a client that was never paired cannot exploit this. The specific condition being abused is the Sunshine 'Disable' control for a paired client - the flaw lets a Disabled-but-not-removed client regain GameStream access. Limiting factors: the trust relationship is fully severed if the operator REMOVES (rather than merely Disables) the paired client, exploitation is confined to the affected versions 2026.329.165800 through pre-2026.906.222525, and the attacker must be able to reach Sunshine's GameStream HTTPS endpoint over the network. |
| Impact | This is a genuine authorization-bypass (CWE-863) in LizardByte Sunshine, but the available signals point to moderate, conditional risk rather than broad emergency priority. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L, base 7.6 High) correctly reflects that exploitation is network-reachable and low-complexity but NOT unauthenticated - PR:L is consistent with the description, which states a 'previously paired client that retains its private key' is required; a never-paired client cannot exploit the flaw. No EPSS score, CISA KEV listing, or public POC was supplied in the intelligence set, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The flaw is well-corroborated by a vendor GitHub Security Advisory (GHSA-6jvv-jqr7-m6m3) and a specific commit diff showing the root cause - acceptance of any certificate chaining to a stored paired cert plus non-canonicalized PEM comparison - which raises confidence in the technical description. The practical impact is narrow: it lets an already-trusted-then-'Disabled' client circumvent the Disable control, so it is an insider/previously-authorized-device escalation, not a path for arbitrary external attackers. Net: a legitimate fix-worthy issue for Sunshine operators who rely on the Disable control, but not a mass-exploitation threat given the prior-pairing precondition and absence of KEV/EPSS/POC signals. |
| Exploit ScenarioDerived | A user who was previously paired with a Sunshine host but later had their device 'Disabled' by the operator still possesses the paired client's private key. They derive an alternate certificate (or re-encode the paired PEM equivalently) from that key and present it during the GameStream TLS handshake; because Sunshine only checked that the cert chained to a stored paired cert rather than matching the exact enabled identity, access is granted despite the Disable control. No public exploit code was identified in the provided data, and exploitation is limited to clients that were paired at some point. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
A previously paired Moonlight client that still holds its private key can bypass Sunshine's 'Disable' control and regain GameStream access by presenting an alternate certificate derived from its stored paired certificate. Affected builds (2026.329.165800 through pre-2026.906.222525) validated only that the presented certificate chained to a stored paired-client anchor and compared certificate text without canonicalizing equivalent PEM encodings, so the server never confirmed the connection came from the exact enabled paired identity. This is CWE-863 (Incorrect Authorization) and carries CVSS 3.1 base 7.6 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L); the vector's PR:L aligns with the requirement for a previously paired client identity, no public exploit code was identified at time of analysis, and removing (rather than merely disabling) the paired client severs the trust relationship.
RemediationAI
Vendor-released patch: 2026.906.222525 - upgrade Sunshine to that version or later (release tag v2026.906.222525, fix commit 4d768847fcd88cc94ac745c4611715c67d7d67e1) and consult the advisory at https://github.com/LizardByte/Sunshine/security/advisories/GHSA-6jvv-jqr7-m6m3. Until patching, the decisive compensating control is to fully REMOVE any client whose access should be revoked rather than using the 'Disable' toggle: deleting the paired record drops its trust anchor from the store, whereas 'Disable' alone is exactly the control this flaw defeats - the trade-off is that restoring access requires a fresh pairing. Additionally, restrict network reachability to Sunshine's GameStream HTTPS endpoint to trusted LANs or a VPN segment, since the attacker must be able to reach that interface, and rotate the private key of any client that was disabled and is suspected of misuse, because exploitation depends on retaining that client's private key. Note that these controls are mitigations only; no configuration workaround fully closes the certificate-identity and canonicalization gap, so upgrading is required for complete remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Sunshine is a self-hosted game-stream host for Moonlight clients, and its GameStream HTTPS endpoint authenticates clients with mutual-TLS certificates that act as the pairing trust anchor. In the affected code, the server built an OpenSSL X509_STORE per stored paired certificate and called X509_verify_cert, which proves only that the presented certificate chains to a trusted anchor - it does not require the presented leaf to be byte-identical to the stored paired identity. A second weakness compounded this: certificate text was compared without canonicalizing equivalent PEM encodings, so semantically identical certificates with different encodings could be handled inconsistently. Both behaviors fall under CWE-863 (Incorrect Authorization), because the authorization decision rested on chain validity plus a non-canonical string comparison instead of exact enabled identity. The fix (commit 4d768847fcd88cc94ac745c4611715c67d7d67e1) adds an X509_cmp comparison against the trusted leaf in crypto.cpp, a canonical_certificate_pem() canonicalization routine in nvhttp.cpp, and an is_client_enabled()/rebuild_client_cert_chain() path serialized by a new client_auth_mutex so that only an exactly matching, enabled paired device is trusted; when no exact match exists the code now returns a 'Client certificate identity is not paired/enabled' error rather than accepting the chained certificate.
Know when Sunshine gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L
Network-reachable GameStream endpoint (AV:N), but attacker must be a previously-paired client holding a private key, so PR:L not PR:N; deriving the cert is trivial (AC:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Sunshine is a self-hosted game stream host for Moonlight. From 2026.329.165800 until 2026.906.222525, Sunshine accepted any client certificate that chained to a stored paired-client certificate, but it did not require the presented certificate to be the exact enabled paired identity. Certificate text was also compared without canonicalizing equivalent PEM encodings. A previously paired client that retains its private key can present an alternate certificate derived from its paired certificate and bypass the Disable control. Equivalent PEM encodings could also cause inconsistent client identity handling. A client that was never paired cannot use this issue, and removing the paired client removes its trust relationship. This issue is fixed in version 2026.906.222525.
Technical POC Analysis
Evidence note: the only supplied artefact is advisory GHSA-6jvv-jqr7-m6m3.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Sunshine's GameStream access controls can be bypassed by a previously paired Moonlight client, allowing it to reconnect even after administrators disable it. This undermines access revocation and could expose streaming sessions or host resources to users who should no longer have access; organizations using Sunshine for remote access should treat this as a priority. No vendor-released patch identified at time of analysis, and no public exploit identified at time of analysis, so leadership should ensure affected instances are inventoried and unnecessary paired clients are removed.
No vendor-released patch identified at time of analysis. Remove (rather than merely disable) previously paired Moonlight clients to sever the trust relationship; restrict Sunshine/GameStream to trusted networks or VPN; temporarily disable the GameStream service if not business-critical; monitor for unexpected reconnections; and re-pair only approved clients after removal.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Local privilege escalation in LizardByte Sunshine on Windows: the SunshineService service is registered with an unquoted
Sunshine is a self-hosted game stream host for Moonlight. Rated medium severity (CVSS 5.9), this vulnerability is remote
Authentication bypass in LizardByte Sunshine self-hosted game stream host (versions prior to 2026.516.143833) allows rem
Sunshine is a self-hosted game stream host for Moonlight. Prior to version 2025.628.4510, the web UI of Sunshine lacks p
Sunshine is a self-hosted game stream host for Moonlight. Rated medium severity (CVSS 5.3), this vulnerability is remote
Sunshine is a self-hosted game stream host for Moonlight. Rated high severity (CVSS 7.3), this vulnerability is remotely
Sunshine is a self-hosted game stream host for Moonlight. Prior to version 2025.628.4510, the web UI of Sunshine lacks p
Sunshine is a self-hosted game stream host for Moonlight. Rated low severity (CVSS 2.9).
A local privilege escalation vulnerability exists in Sunshine for Windows (version v2025.122.141614 and likely prior ver
Sunshine for Windows, version v2025.122.141614, contains a DLL search-order hijacking vulnerability, allowing attackers
Sunshine is a self-hosted game stream host for Moonlight. Rated high severity (CVSS 7.7), this vulnerability is remotely
EUVD-2026-103189
NVD
CVE.org
EPSS
GitHub
Exploit-DB