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 15.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via GHSA
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-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-2026-86038High· 7.5libp2p is a JavaScript implementation of the libp2p networking stack
CVE-2026-86039High· 8.2libp2p is a JavaScript implementation of the libp2p networking stack
CVE-2024-29902Medium· 4.2Cosign malicious attachments can cause system-wide denial of service
CVE-2026-44309Medium· 5.3gitsign verify accepts signatures over go-git-normalized bytes, enabling trust confusion on malformed commits