tektoncd / tektoncd/chains

Warn when non-default TUF mirror URL is configured

Open
#1,665 1 comment 0 reactions 1 assignee View on GitHub

@anithapriyanatarajan is already working on this.

Since May 28, 2026.

kind/feature
Dominant language
Go
Stars
277
Forks
164
Avg merge
2d 3h
Merged PRs (30d)
61

Description

Summary

When signers.x509.tuf.mirror.url is set to a non-default value, Chains should log a prominent warning that the trust boundary has been expanded. This setting controls where the TUF root metadata (root.json) is fetched from — effectively a trust-root selector.

The setting exists for legitimate air-gapped deployments with local Fulcio + TUF mirrors, but operators should be aware of the security implications.

Proposal

  1. Log a warning at startup when signers.x509.tuf.mirror.url is non-default — e.g.: "Custom TUF mirror URL configured. The TUF root will be fetched from [URL]. This setting is intended for air-gapped environments with a local Fulcio deployment and TUF mirror."
  2. Add URL parsing / sanity checks — reject obviously invalid URLs, log scheme/host for visibility
  3. Document in the security/trust model docs that this setting expands the trust boundary and is meant for air-gapped environments only

Context

Reported via GHSA-jqc2-g622-rrfg. The setting passes the URL to http.Get() without validation (pkg/chains/signing/x509/x509.go:169). While exploitation requires write access to the chains-config ConfigMap (which already grants broad control over Chains behavior), surfacing a warning makes misconfiguration or compromise more visible to operators.

Related: #1661 (trust model documentation)

/kind feature

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.