Loading...
Skip to main content

CVE-2026-22696 — Vulnerability in dcap-qvl — CVE Details

CRITICAL

dcap-qvl has Missing Verification for QE Identity

Published January 26, 2026Updated June 29, 2026Source: osv

Summary

## Impact This vulnerability involves a critical gap in the cryptographic verification process within the dcap-qvl. The library fetches QE Identity collateral (including qe_identity, qe_identity_signature, and qe_identity_issuer_chain) from the PCCS. However, it skips to verify the QE Identity signature against its certificate chain and does not enforce policy constraints on the QE Report. ## Consequences An attacker can forge the QE Identity data to whitelist a malicious or non-Intel Quoting Enclave. This allows the attacker to forge the QE and sign untrusted quotes that the verifier will accept as valid. Effectively, this bypasses the entire remote attestation security model, as the verifier can no longer trust the entity responsible for signing the quotes. ## Who is impacted All deployments utilizing the dcap-qvl library for SGX or TDX quote verification are affected. ## Patches The vulnerability has been patched in dcap-qvl version 0.3.9. The fix implements the missing cryptographic verification for the QE Identity signature and enforces the required checks for MRSIGNER, ISVPRODID, and ISVSVN against the QE Report. Users of the `@phala/dcap-qvl-node` and `@phala/dcap-qvl-web` packages should switch to the pure JavaScript implementation, `@phala/dcap-qvl`. ## Workarounds There are no known workarounds for this vulnerability. Users must upgrade to the patched version to ensure that QE Identity collateral is properly verified. ## Credit This bug was reported by Rahul Saxena <saxenism@bluethroatlabs.com>.

Advisory Timeline

  • First published January 26, 2026 (259 days ago).
  • Last revised June 29, 2026 — 154 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

pip
Update dcap-qvl to 0.3.9 or later
pip install "dcap-qvl>=0.3.9"
Cargo
Update dcap-qvl to 0.3.9 or later
cargo update -p dcap-qvl --precise 0.3.9
npm
Update @phala/dcap-qvl to 0.3.9 or later
npm install @phala/dcap-qvl@0.3.9

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (5)

Affects 3 ecosystems: npm (3), crates.io (1), pypi (1).

PackageEcosystemAffectedFixed In
dcap-qvl
pypi
0.1.0, 0.1.1, 0.1.2, 0.1.3 (+8 more)0.3.9
@phala/dcap-qvl-web
npm
All versionsRange-based data available
dcap-qvl
crates.io
All versions0.3.9
@phala/dcap-qvl-node
npm
All versionsRange-based data available
@phala/dcap-qvl
npm
All versions0.3.9

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-295
    Improper Certificate ValidationMITRE
  • CWE-347
    Improper Verification of Cryptographic SignatureMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.1 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Frequently Asked Questions

What is CVE-2026-22696?
dcap-qvl has Missing Verification for QE Identity This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.1/10).
How do I check if my project is affected by CVE-2026-22696?
CVE-2026-22696 affects dcap-qvl, @phala/dcap-qvl-web and @phala/dcap-qvl-node (and 1 more). Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-22696 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.1

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-796p-j2gh-9m2q
PYSEC-2026-326

Related CVEs

  • CVE-2026-107722
    CRITICAL

    fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

  • CVE-2026-108261
    CRITICAL

    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies