Skip to content

Releases: in-toto/witness

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 13:43
Immutable release. Only release title and notes can be modified.
v0.12.0
afeb5a1

Witness v0.12.0

This release upgrades the embedded go-witness library from v0.10.0 to v0.12.0, pulling in two upstream releases at once. The most important of these is a large coordinated-disclosure security hardening release in go-witness v0.12.0 that strengthens policy verification, artifact tracing, and timestamp checks. On the Witness CLI side, this release adds first-class support for experimental attestors, unlocking the new networktrace attestor.

All users are strongly encouraged to upgrade to pick up the security fixes below.

🔐 Security (via go-witness v0.12.0)

go-witness v0.12.0 landed a consolidated set of coordinated-disclosure fixes (go-witness#784). Because Witness embeds go-witness for all attestation collection and policy verification, these fixes apply directly to witness run and witness verify.

Published advisories

Advisory Severity Summary
GHSA-2v4r-xhmm-ghv8 High Policy-signature verification accepted certificates whose signature had actually failed, allowing a forged policy to be trusted. Verifiers with a failed signature are now rejected.
GHSA-v6px-jqx8-8xwj Medium The file attestor followed symlinks resolving outside the attested root and recorded out-of-tree files. Such symlinks are now refused for following and directory hashing.
GHSA-vmvj-p3hw-39q3 Medium An artifactsFrom edge could be satisfied with no genuine artifact flow. Zero-overlap edges are now rejected and failure reasons de-duplicated.
GHSA-5qp5-ph6r-qj9f Low RFC 3161 timestamp verification did not require the id-kp-timeStamping EKU. A sole critical timestamping EKU is now required on the TSA signer and its chain re-verified.
GHSA-r4fv-8r9j-vgcg Low With a duplicated attestor type, rego was evaluated only against the last instance, letting a malicious attestor shadow policy. Every attestor of a type is now evaluated.
GHSA-g9jx-rqhm-mj7g Low An empty collection name matched any step in validateAttestations. An exact collection-name match is now required.
GHSA-pgpm-j729-qcvh Low Cross-step artifact comparison could downgrade to the weakest shared hash (e.g. SHA-1), enabling collision-based substitution. Strongest-size hash ties are now resolved deterministically in DigestSet.Equal.

Defense-in-depth hardening (no published advisory)

These GHSA IDs were assigned but the reports were not accepted as vulnerabilities; the release still ships secure-default changes for each:

  • GHSA-mpvw-hw8p-7x27 — Policy certificate-identity constraints defaulted to a wildcard *, so trusting a CA effectively accepted any certificate it issued. Explicit-empty constraints are now distinguished from unset, and x509 policy signers must opt in to an identity.
  • GHSA-rgp5-33mp-jhfm — A policy defining zero steps verified successfully (failed open). Such a policy now fails verification.
  • GHSA-567m-4668-m656 — A step declaring no required attestations performed no content checks. Steps with no required attestations now fail closed.
  • GHSA-c346-qp3r-53vfPolicy.Verify merged step results across search depth without de-duplication, inflating quorum/coverage. Merged step results are now de-duplicated.
  • GHSA-3vpg-3m94-v3qr — The system-packages attestor invoked rpm/dpkg-query by bare name off an untrusted $PATH. Package-manager binaries are now resolved from trusted directories.

✨ New Features

Experimental attestors

Witness now supports invoking and listing attestors that go-witness marks as experimental (#775, by @Vyom-Yadav):

  • witness run gains an --experimental flag. Experimental attestors are refused unless it is set:

    attestor <name> is experimental and cannot be used without --experimental flag

  • witness attestors list gains -e/--experimental to include experimental attestors in the listing (shown with an (experimental) suffix).

networktrace attestor (via go-witness v0.11.0)

The first experimental attestor available through the flag above is networktrace (go-witness#629), which records network activity during a witness run using an invisible TCP proxy. Combine --experimental with -a networktrace to try it.

🐛 Bug Fixes (via go-witness v0.11.0 / v0.12.0)

  • verify: Prevent a nil-pointer panic in the Archivista client during witness verify (go-witness#689).
  • tracing: Properly clean up ENOENT files for child processes in the Linux command-run tracer (go-witness#772).
  • tracing: Fix Linux builds on unsupported architectures in the tracing helpers (go-witness#688).

🔧 Maintenance

  • Bumped go-witness to v0.12.0 (#797).
  • Updated dependencies to clear reachable vulnerabilities: Go 1.26.4, golang.org/x/crypto, golang.org/x/net (#786).
  • Added a guide on how to write attestors (#756).
  • CI: Save attestations and upload them to the workflow run instead of sending to Archivista (#787).
  • Routine dependency and GitHub Actions bumps (go-git, opa, k8s.io/apimachinery, and grouped go-mod/gha/npm updates).

Contributors

Thanks to @Vyom-Yadav, @Jaydeep869, @fkautz, and @jkjell for their contributions to this release.

Full changelog: v0.11.0...v0.12.0 · go-witness: v0.10.0...v0.12.0

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 14 Apr 19:17
Immutable release. Only release title and notes can be modified.
v0.11.0
4f94e9f

Changelog

Bug fixes

Others

v0.10.2

Choose a tag to compare

@github-actions github-actions released this 13 Jan 21:28
Immutable release. Only release title and notes can be modified.
v0.10.2
0af1bb5

Changelog

Features

Documentation

Others

v0.10.2-rc5

v0.10.2-rc5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Dec 21:58
Immutable release. Only release title and notes can be modified.
v0.10.2-rc5
86d2585

Changelog

Features

Documentation

Others

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:37
v0.10.1
ba902d8

Changelog

Changes from go-witness v0.9.1

Bug fixes

Documentation

Others

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:19
Immutable release. Only release title and notes can be modified.
v0.10.0
ba902d8

Changelog

Features

Bug fixes

Documentation

Others

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 16 May 17:04
51a2b45

Changelog

Features

Documentation

Others

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 28 Apr 19:59

Changelog

Documentation

Others

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 16 Apr 19:16
7f91b00

Changelog

Others

  • 449c4e4: chore: fix some comments (#569) (@linghuying)
  • 79e5681: chore: bump the all-gha group across 1 directory with 8 updates (#572) (@dependabot[bot])
  • 3d991a3: chore: bump the all-go-mod group with 2 updates (#566) (@dependabot[bot])
  • 34cb841: chore: bump golang.org/x/net from 0.34.0 to 0.36.0 in the go_modules group (#565) (@dependabot[bot])
  • 9418116: chore: bump prismjs from 1.29.0 to 1.30.0 in /docs-website in the npm_and_yarn group across 1 directory (#564) (@dependabot[bot])
  • 76cf46d: chore: bump github.com/spf13/viper from 1.20.0 to 1.20.1 in the all-go-mod group (#574) (@dependabot[bot])
  • 656ba04: chore: bump the npm_and_yarn group across 1 directory with 3 updates (#576) (@dependabot[bot])
  • 98356bf: Update affiliation (#579) (@)
  • c8b27fd: chore: bump image-size from 1.1.1 to 1.2.1 in /docs-website in the npm_and_yarn group across 1 directory (#578) (@dependabot[bot])
  • 4ac699b: chore: bump estree-util-value-to-estree from 3.2.1 to 3.3.3 in /docs-website in the npm_and_yarn group across 1 directory (#581) (@dependabot[bot])
  • 8253eef: chore: bump the all-gha group across 1 directory with 4 updates (#580) (@dependabot[bot])
  • 0218622: chore: bump github.com/sigstore/fulcio from 1.6.6 to 1.7.0 in the all-go-mod group (#582) (@dependabot[bot])
  • 4ebb0e7: chore: update to go-witness v0.8.3, remove unneeded replace directives (#583) (@mikhailswift)
  • c674871: changed --env-exclude-sensitive-key to --env-allow-sensitive-key (#563) (@Horiodino)
  • 7f91b00: chore: bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs-website in the npm_and_yarn group across 1 directory (#585) (@dependabot[bot])

v0.8.1

Choose a tag to compare

@github-actions github-actions released this 10 Mar 01:40
a16c4f9

Changelog

Fix

Others