Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain enclave TLS private key
-
DeliveryCapture genuine attestation quote
-
ExploitRelay quote onto attacker-terminated TLS session
-
ExecutionPass relying-party attestation verification
-
ImpactImpersonate attested enclave to victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
|
| Exploitation Conditions | Exploitation requires challenge-mode RA-TLS to be in use and, critically, the attacker must already possess a valid enclave TLS private key - the quote's report_data was computed as SHA-512(public_key_sha256 || nonce) with no binding to the live TLS session, so a holder of that key can replay a genuine quote on a different connection. It further requires a relying party / verifier that does not independently bind attestation to the session channel. Limiting factors: the stolen-private-key prerequisite (reflected in AC:H/AT:P) sharply narrows who can exploit this; the fix adds an HKDF-derived 32-byte session binder (privasys-ratls-binder-v1) so that binding-aware verifiers fail closed, and TLS 1.2 is fail-closed by design. |
| Impact | The input CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N, base 9.1) accurately captures a high-impact but high-bar flaw. The network attack vector and PR:N are counterbalanced by AC:H and AT:P, which encode the central precondition stated in the description: the attacker must already possess a genuine enclave TLS private key. This is a privilege-escalation-of-trust / origin-validation issue (CWE-346), not a wormable RCE. No EPSS score, no CISA KEV listing, and no public exploit code were provided, so the realistic status is 'no public exploit identified at time of analysis'; the only exploit-relevant artifact is the fix commit itself. The signals are internally consistent rather than conflicting - a very high CVSS is tempered by a demanding prerequisite (a stolen enclave key) and by the niche deployment footprint of a Go fork. Net assessment: this is a genuine correctness/security defect in the attestation-binding logic that matters acutely to the small population of confidential-computing operators using challenge-mode RA-TLS, but it is NOT a broad, opportunistically-exploitable internet threat. Prioritize if you run Privasys Go enclaves; otherwise low urgency. Note: with no EPSS/KEV/POC data supplied, exploitation-likelihood signals are absent rather than low - treat 'no exploit' as unconfirmed availability, not as proof of difficulty. |
| Exploit ScenarioDerived | An attacker who has extracted or otherwise obtained an enclave's TLS private key relays a legitimate, freshly-generated attestation quote (bound only to the public key and client nonce) onto a separate TLS connection that the attacker terminates. The relying party verifies the quote as valid and accepts the attacker-controlled endpoint as a genuine attested enclave, trusting it with sensitive data or commands. No public exploit code was identified; exploitation also requires the victim verifier to be unaware of the new session-channel binding. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
RA-TLS session binding bypass in Privasys Go before privasys-v0.5.1-go1.26.5 allows remote attackers who already possess a valid enclave TLS private key to relay a genuine attestation quote onto a different TLS connection, causing a relying party to accept an attacker-terminated handshake as an attested enclave connection. The flaw stems from challenge-mode RA-TLS certificates binding quote ReportData to the certificate public key and client nonce but not to the active TLS session (CWE-346). No public exploit code has been identified, and exploitation requires both a stolen enclave TLS private key and a verifier that does not independently bind attestation to the session channel; the vendor has released a fix in privasys-v0.5.1-go1.26.5.
RemediationAI
Upgrade to privasys-v0.5.1-go1.26.5, which is the vendor-released patch that introduces session channel binding for RA-TLS quotes. The fix derives a 32-byte HKDF binder from the TLS 1.3 key schedule (using the client_handshake_traffic_secret and transcript hash with label privasys-ratls-binder-v1) and folds it into the attestation quote's report_data, so binding-aware verifiers reject relayed quotes. If immediate upgrade is not possible, disable challenge-mode RA-TLS where feasible, or update relying-party verifiers to independently recompute and validate the session binder against the live TLS session; note that this requires custom verification logic and may not be compatible with all deployments. TLS 1.2 is fail-closed by design in this fork, so no RA-TLS session binding is expected there. See the advisory at https://github.com/Privasys/go/security/advisories/GHSA-7jfw-53rm-phh2 and the blog post at https://privasys.org/blog/binding-attestation-to-the-tls-session for details. Disabling RA-TLS removes attestation guarantees and should be a last resort; verifier-side changes must be carefully tested to avoid false negatives.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Privasys Go is a fork of the Go programming language that adds Remote Attestation TLS (RA-TLS) support to crypto/tls. It introduces a custom TLS extension (0xFFBB) to carry a challenge nonce in ClientHello and CertificateRequest messages, enabling a server enclave to embed SHA-512(public_key_sha256 || nonce) into an attestation quote's report_data. The vulnerability, classified as CWE-346 (Origin Validation Error), arises because that report_data did not commit to the live TLS session, so an attacker holding the enclave TLS private key could replay a genuine quote on a different connection. The fix (commit 00a7d21ba53bba0ea09ac7a67eb2c6714e651700) derives a 32-byte session channel binder using HKDF-Expand-Label from the client_handshake_traffic_secret with label privasys-ratls-binder-v1 and the transcript hash (ClientHello..ServerHello); folding this binder into report_data causes binding-aware verifiers to fail closed. The affected product is identified by CPE cpe:2.3:a:privasys:go:*:*:*:*:*:*:*:*. TLS 1.2 is fail-closed by design in this fork.
Know when Go 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
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Network relay attack (AV:N) requires a pre-stolen enclave private key, so AC:H and PR:N; it defeats attestation integrity and exposes the attested channel's data (I:H/C:H), with no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Privasys Go is a maintained fork of the Go programming language that adds RA-TLS support to crypto/tls. Prior to privasys-v0.5.1-go1.26.5, challenge-mode RA-TLS certificates bound quote ReportData to the certificate public key and client nonce but not to the active TLS session. An attacker who obtained an enclave TLS private key could relay a genuine quote onto another connection, causing a relying party to accept a handshake terminated by the attacker as an attested enclave connection. This issue is fixed in privasys-v0.5.1-go1.26.5.
Technical POC Analysis
Bug class: CWE-346 Origin Validation Error.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A critical flaw in Privasys Go versions prior to privasys-v0.5.1-go1.26.5 undermines the remote attestation trust model used to prove that a workload is running inside a genuine secure enclave, allowing an attacker holding a stolen enclave TLS private key to make a relying party accept a non-attested connection as trustworthy. This matters to any team whose security architecture, key management, or regulatory commitments depend on attestation as a root of trust, because forged enclave connections could silently bypass integrity guarantees for data in use. Leadership should care less about the code defect itself and more about the small set of reliance decisions and partner integrations that assume attestation is unforgeable.
Apply vendor patch.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and there
Critical certificate validation bypass in Go crypto/tls during session resumption. If ClientCAs or RootCAs fields are mu
net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization by
Casdoor through 4.4.0 exposes its instance-wide built-in JWT signing private key unmasked through the /api/get-certs and
Host header injection in Nezha 2.2.3's OAuth2 redirect endpoint (/api/v1/oauth2/{provider}) allows an unauthenticated re
Session cross-wiring in SUSE NeuVector before 5.6.1 allows an unauthenticated remote attacker to obtain another user's a
Unauthenticated path traversal in Uber Kraken through 0.1.29 allows remote attackers to read files outside the configure
The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import pa
Denial of service in Temporal Server allows an authenticated caller holding at least namespace read permission to crash
Account takeover in Klever-Go's KleverUpdateAccountPermission built-in (all versions prior to 1.7.20) allows an attacker
Maliciously crafted on-chain account names processed by Klever-Go prior to 1.7.20 are spliced into Elasticsearch _bulk r
EUVD-2026-96017
NVD
CVE.org
EPSS
GitHub
Exploit-DB