Skip to main content

Privasys rustls CVE-2026-108266

| EUVDEUVD-2026-95997 CRITICAL
Origin Validation Error (CWE-346)
2026-10-09 security-advisories@github.com
9.1
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain legitimate enclave TLS private key
  2. Exploit
    Relay genuine attestation quote to relying party
  3. Execution
    Terminate victim TLS session as attacker
  4. Impact
    Relying party trusts attacker as attested enclave

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Origin validation
Exploitation Conditions

Exploitation requires the attacker to already possess a genuine enclave's TLS private key - without that key the relay cannot be mounted (this is the AT:P attack requirement and a primary limiting factor). It applies only to RA-TLS deployments using the Privasys rustls fork prior to privasys-v0.8.1, where the attestation quote's ReportData is bound to the client certificate public key and client nonce but not to the live TLS session. The remediation adds a 32-byte channel binder derived from the TLS 1.3 handshake key schedule, so the weakness is specific to the TLS 1.3 RA-TLS client-attestation path; AC:H reflects the additional effort of relaying a valid quote onto a separate attacker-terminated connection.

Impact

The CVSS 4.0 base score of 9.1 (Critical) is driven by network reach (AV:N), no required privileges (PR:N), no user interaction (UI:N), and high confidentiality and integrity impact (VC:H/VI:H), but it is importantly tempered by AC:H and AT:P - the vector itself encodes that exploitation is hard and carries a specific attack requirement. That requirement is stated plainly in the description: the attacker must FIRST possess a genuine enclave's TLS private key before the relay is possible, which is a substantial precondition that does not exist in default/benign conditions. No EPSS score, CISA KEV listing, SSVC decision, or public POC was provided in the input, so there is no evidence of active or automatable exploitation; this is a high-CVSS issue whose real-world risk is gated by the key-possession prerequisite rather than a broadly sprayable remote flaw. CWE-346 (origin validation) and the mechanism (accepting an attacker-terminated connection as the attested enclave) indicate the true nature is an attestation/relay spoofing weakness, even though the single input Tag labels it 'Information Disclosure'; the VC:H/VI:H split is consistent with both impersonation and resulting data exposure. Net: a serious design flaw in confidential-computing attestation that warrants prompt patching for anyone running this fork, but not a mass-exploitation emergency given the private-key precondition and absence of exploitation signals.

Exploit ScenarioDerived

An attacker who has already obtained a legitimate enclave's TLS private key (for example via key extraction or a separate compromise) initiates or terminates a TLS connection to a relying party and replays a genuine, valid RA-TLS attestation quote whose ReportData was bound only to the certificate public key and client nonce. Because the quote does not commit to the specific TLS session, the relying party accepts the attacker-controlled endpoint as the genuinely attested enclave. No public exploit was identified in the provided data.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

Attestation bypass in the Privasys rustls fork (versions prior to privasys-v0.8.1) lets an attacker who already holds a genuine enclave's TLS private key relay that enclave's RA-TLS quote onto a separate, attacker-terminated TLS 1.3 connection, causing the relying party to treat the attacker's connection as the attested enclave. Because the channel just needs to be mounted over the network with no privileges and no user interaction, the published CVSS 4.0 base score is 9.1 (Critical), though the same vector records AC:H and AT:P - reflecting that the attacker must first obtain the enclave private key and then successfully replay a valid quote, which materially constrains real-world exploitation. The flaw is fixed in privasys-v0.8.1 via a 32-byte channel binder derived from the TLS 1.3 handshake key schedule; no public exploit code was identified at time of analysis and the issue is not listed as actively exploited.

RemediationAI

Vendor-released patch: privasys-v0.8.1 (release tag https://github.com/Privasys/rustls/releases/tag/privasys-v0.8.1, landing in commit ab630583b58fee84260cbbfe2f4a8b45d8bde200) - upgrade the Privasys rustls dependency to 0.8.1 or later; note this is a deliberate public-API extension (ResolvesClientCert::resolve gains RA-TLS parameters) and the fork removed its cargo-semver-checks job accordingly, so downstream implementers of that trait must accept the new ratls_channel_binder argument. Consumers of the fork that supply client attestation certificates must update their TEE client resolver to fold the supplied 32-byte channel binder into the quote's ReportData alongside the client nonce, and verifiers must recompute and compare it via CommonState::ratls_channel_binder, otherwise the relay remains possible even on the patched library. If an immediate upgrade is not feasible, compensating controls carry real trade-offs: the attack is only mountable by an adversary who already holds the enclave's TLS private key, so treat any suspected key exposure as a compromise - rotate the enclave TLS key and re-issue its attestation certificate and update relying parties' trust anchors (this invalidates the key an attacker would need but does not fix the code and forces certificate/trust-store churn), and similarly pin or allowlist the expected attestation measurements and peer identities at relying parties (reduces the blast radius of a relayed connection but does not distinguish a relayed session from a genuine one), while disabling the fork's RA-TLS client-attestation path or restricting it to TLS 1.2-only deployments removes the affected code path at the cost of losing attestation for those clients. Consult GHSA-j6qv-435v-r492 and https://privasys.org/blog/binding-attestation-to-the-tls-session for the vendor's intended deployment guidance.

Affected VersionsENISA

rustls < privasys-v0.8.1

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

RA-TLS couples remote attestation (typically an SGX/TEE quote) with a TLS handshake so that a peer can verify it is talking to a specific attested enclave. In the Privasys rustls fork, the enclave's quote ReportData was bound to the client certificate's public key plus the client nonce, but not to the live TLS session - a missing-binding case that maps to CWE-346 (Origin Validation Error). Because nothing tied the quote to the session's key schedule, a genuine quote remained valid on any connection that presented the matching certificate and key, allowing an attacker-controlled endpoint to impersonate the attested enclave. The upstream fix extends the ResolvesClientCert::resolve interface with an optional 32-byte ratls_channel_binder derived from the TLS 1.3 handshake key schedule (via CommonState::ratls_channel_binder), which the TEE client folds into ReportData alongside the nonce; the verifying peer recomputes the identical value from its own key schedule, so a relayed quote fails closed. The diff shows the binder plumbing is TLS 1.3-only - the TLS 1.2 path passes None, and several call sites (bogo, handy, AlwaysResolvesClientRawPublicKeys) are updated with the new parameter - so the vulnerability is specific to RA-TLS client attestation over TLS 1.3. Source references: commit ab630583b58fee84260cbbfe2f4a8b45d8bde200 and advisory GHSA-j6qv-435v-r492.

Know when the next one hits your stack

  • 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

Vendor (github) PRIMARY 9.1 CRITICAL
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
vuln.today AI 7.4 HIGH

AC:H because the attacker must already hold the enclave private key and successfully relay a valid quote; PR:N as no account is needed on the relying party; A:N since availability is unaffected.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Privasys rustls is a maintained fork of the rustls TLS library that adds RA-TLS challenge and channel-binding support. Prior to privasys-v0.8.1, the fork emitted RA-TLS challenge certificates whose quote ReportData was bound 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 an attacker-terminated connection as the attested enclave. This issue is fixed in privasys-v0.8.1.

Technical POC Analysis

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

Why It Matters

A critical attestation-bypass flaw in the Privasys fork of rustls (versions prior to privasys-v0.8.1) allows an attacker who already possesses a genuine enclave's TLS private key to make their own network connection appear to relying parties as that attested enclave. This undermines the core trust guarantee of our confidential-computing and remote-attestation deployments, affecting any internal or customer-facing service that relies on Privasys RA-TLS to authenticate enclaves - and because the attack is mounted over the network with no privileges or user interaction, a single leaked enclave key could silently impersonate trusted workloads. Leadership should care because the failure mode is silent trust forgery rather than service disruption, potentially enabling data exfiltration or unauthorized privileged actions across the estate, though real-world exploitation is constrained by the prerequisite of obtaining a valid enclave private key.

Business Impact: High
Compensating Controls

No vendor-released patch was identified at time of analysis, although the technical description indicates the fix is present in privasys-v0.8.1. Interim mitigations: rotate and re-issue enclave TLS private keys and certificates to invalidate any key an attacker may hold; restrict RA-TLS endpoints to trusted network segments and mutual peer allowlists; add short key validity periods and hardware-backed, non-exportable key storage; detect and alert on reuse of a single RA-TLS quote across multiple distinct TLS 1.3 connections, client endpoints, or time windows; and temporarily downgrade reliance on RA-TLS attestation for the highest-value channels until upgrades to privasys-v0.8.1 or later are complete.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Rare
niche rustls fork for TEE/RA-TLS attestation, minimal production footprint
Threat Intel
1
1 sources
Social Media
3
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy