CVE-2026-48816Medium· 6.5▾ Sunlitsigstore-js has Insufficient Verification of Data Authenticity
▾ Sunlit zone — Low / medium · no exploitation signal
impact 35.8 · likelihood 0 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 30.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
0.1%
0.1% → 0.2%
sigstore-js derives a transparency-log timestamp from tlogEntries[].integratedTime and uses it to validate certificate validity windows and satisfy timestampThreshold. For bundle v0.2, a tlog entry can be inclusionProof-only (no signed inclusionPromise/set), and the inclusion proof path does not cryptographically bind integratedTime. As a result, an attacker who can supply an untrusted bundle can influence time-based verification decisions by choosing integratedTime.
If a consumer accepts attacker-provided bundle v0.2 inputs and relies on tlog-derived timestamps for certificate validity checks, verification can be influenced by an unauthenticated timestamp value. This is a trust gap: integratedTime is treated as a trusted observer timestamp under inclusionProof-only mode even though only the signed inclusionPromise/set path binds it.
packages/verify/src/bundle/index.ts (adds a transparency-log timestamp whenever integratedTime != 0)packages/verify/src/timestamp/index.ts (converts integratedTime to a Date)packages/verify/src/verifier.ts (verifies timestamps before verifying tlog inclusion)packages/verify/src/tlog/index.ts + packages/verify/src/tlog/set.ts (only the inclusionPromise/set path binds integratedTime)The attached poc.zip contains a self-contained harness that reproduces the behavior on the pinned commit and includes both a canonical test and a negative control.
repro:
poc.zip into a fresh directory and run the make targets:unzip poc.zip -d poc
cd poc/poc-F-SIG-JS-TLOGTIME-001
make canonical
make control
canonical.log includes:[CALLSITE_HIT]:
[PROOF_MARKER]:
control.log includes:[NC_MARKER]:
Only treat integratedTime as a trusted timestamp when it is cryptographically bound (for example, via a verified signed inclusionPromise/set). For inclusionProof-only entries, do not count integratedTime toward timestampThreshold, and do not use it for certificate validity decisions unless there is another signed time source (for example, an rfc3161 timestamp).
poc.zip PR_DESCRIPTION.md SUBMISSION.md
@sigstore/verify = 3.1.0Upgrade to a patched release:
@sigstore/verify 3.1.1Connected by shared product, vendor, weakness, or advisory.
CVE-2025-31356NoneInsufficient verification of data authenticity for some Intel(R) Trust Domain Extensions (Intel(R) TDX) within Ring 0: Hypervisor may allow an information disclosure
CVE-2026-59891Critical· 9.6Credential confusion in @sigstore/oci can leak registry credentials to an attacker-controlled registry
CVE-2026-48758Medium· 5.4@sigstore/core has DSSE payloadType type-binding failure
CVE-2023-48238High· 7.5json-web-token library is vulnerable to a JWT algorithm confusion attack
CVE-2026-104850High· 7.5MCP TypeScript SDK is the official TypeScript SDK for Model Context Protocol servers and clients
CVE-2026-102677High· 7.8Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS