Skip to content

Update module github.com/sigstore/timestamp-authority to v2 [SECURITY] - #367

Open
renovate-update-app[bot] wants to merge 1 commit into
masterfrom
renovate/go-github.com-sigstore-timestamp-authority-vulnerability
Open

renovate-update-app[bot] wants to merge 1 commit into
masterfrom
renovate/go-github.com-sigstore-timestamp-authority-vulnerability

Conversation

@renovate-update-app

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
github.com/sigstore/timestamp-authority v1.2.2 → v2.0.3 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Sigstore Timestamp Authority allocates excessive memory during request parsing

CVE-2025-66564 / GHSA-4qg8-fj49-pxjh

More information

Details

Impact

Excessive memory allocation

Function api.ParseJSONRequest currently splits (via a call to strings.Split) an optionally-provided OID (which is untrusted data) on periods. Similarly, function api.getContentType splits the Content-Type header (which is also untrusted data) on an application string.

As a result, in the face of a malicious request with either an excessively long OID in the payload containing many period characters or a malformed Content-Type header, a call to api.ParseJSONRequest or api.getContentType incurs allocations of O(n) bytes (where n stands for the length of the function's argument). Relevant weakness: CWE-405: Asymmetric Resource Consumption (Amplification)

Patches

Upgrade to v2.0.3.

Workarounds

There are no workarounds with the service itself. If the service is behind a load balancer, configure the load balancer to reject excessively large requests.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Sigstore Timestamp Authority has OOM due to unbounded metric label cardinality

CVE-2026-49835 / GHSA-9c54-x2g4-v92j / GO-2026-5851

More information

Details

Impact

An unauthenticated remote attacker can trigger unbounded memory growth on the timestamp authority server.

This vulnerability exists because the global wrapMetrics middleware records the raw HTTP request path (r.URL.Path) and raw HTTP request method (r.Method) as Prometheus labels for latency and request count metric vectors. Since this middleware runs before standard routing occurs, it executes for all incoming requests, including those for unmatched paths (yielding 404 responses) or arbitrary request methods. The Prometheus library registers a new, permanent time-series entry for every distinct label combination. An attacker can continuously issue requests containing random paths (e.g., /api/v1/timestamp/<uuid>) or random HTTP methods to exhaust system memory.

Patches

This issue has been patched by limiting the metric label values to a strict allowlist of expected paths (/ping, /api/v1/timestamp, /api/v1/timestamp/certchain) and expected HTTP methods (GET, POST, HEAD, OPTIONS). Unrecognized paths or methods are normalized to a static string ("unrecognized").

Users should update to version v2.0.7 or later.

Workarounds
  1. Block or drop incoming requests with invalid HTTP methods or unknown request paths at a reverse proxy or load balancer before they reach the timestamp authority server.
  2. Configure rate-limiting on the public interface to prevent remote attackers from issuing millions of unique requests in a short duration.

Severity

  • CVSS Score: 5.9 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Sigstore Timestamp Authority allocates excessive memory during request parsing

CVE-2025-66564 / GHSA-4qg8-fj49-pxjh / GO-2025-4192

More information

Details

Impact

Excessive memory allocation

Function api.ParseJSONRequest currently splits (via a call to strings.Split) an optionally-provided OID (which is untrusted data) on periods. Similarly, function api.getContentType splits the Content-Type header (which is also untrusted data) on an application string.

As a result, in the face of a malicious request with either an excessively long OID in the payload containing many period characters or a malformed Content-Type header, a call to api.ParseJSONRequest or api.getContentType incurs allocations of O(n) bytes (where n stands for the length of the function's argument). Relevant weakness: CWE-405: Asymmetric Resource Consumption (Amplification)

Patches

Upgrade to v2.0.3.

Workarounds

There are no workarounds with the service itself. If the service is behind a load balancer, configure the load balancer to reject excessively large requests.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

sigstore/timestamp-authority (github.com/sigstore/timestamp-authority)

v2.0.3

Compare Source

Vulnerability Fixes

v2.0.2

Compare Source

This release bumps the Go version to 1.25.

v2.0.1

Compare Source

This release is identical to v2.0.0, as it only contains a fix for the release pipeline.

v2.0.0

Compare Source

v2.0.0 changes the default HTTP response code to 200 for timestamp responses,
which matches all other well-known TSA implementations. Sigstore clients already
handle both 200 and 201 response codes, so no changes are needed to clients.

If you need backwards compatibility, you can deploy the service with
--use-http-201.

This release also changes the format of the binary and container signature,
which is now a Sigstore bundle.
To verify a release, use the latest Cosign 3.x, verifying with
cosign verify-blob --bundle <artifact>-keyless.sigstore.json <artifact>.

Features

  • changes default HTTP response code to 200 for timestamp responses (#​1202)
  • feat: add configurable max request body size for TSA server (#​1176)

Testing

  • test: Add a K6 loadtest

Documentation

  • Minor improvements to documentation (#​1169)

Misc

  • (fix): minor gosec issues under x509.go (#​1201)

v1.2.9

Compare Source

  • logging: Don't use Error when logging 4xx responses (#​1159)
  • add feature to disable intermediate cert EKU enforcement (#​1146)
  • add documentation for AWS KMS example (#​1094)

v1.2.8

Compare Source

Features

  • Allow full issuing chain in response (#​1082)
  • Relax EKU chaining rules verification for intermediate certs (#​1078)

v1.2.7

Compare Source

Features

  • fetch-tsa-certs: Add "--org-name" (#​1056)

Bug Fixes

  • Fix: Disallow timestamp requests where digest length is inconsistent with hash algorithm (#​1066)
  • Fix --http-ping-only flag to not affect https listener (#​1051)

v1.2.6

Compare Source

Features

  • allow operators to customize the HTTP header used to customize request correlation IDs (#​1026)

Bug Fixes

  • Do not assume leaf certificate is first in chain (#​1040)

v1.2.5

Compare Source

Enhancements
  • Exposes validity period of signing certificate as prometheus metric for monitoring
  • fetch-tsa-certs now supports fetching a self-signed certificate chain

Changes

Bug fixes
  • Minor tweaks to CI configuration for hardening
Misc
  • Add fuzzing coverage with oss-fuzz
  • Dependabot updates

v1.2.4

Compare Source

Changes

Bug fixes
  • Fix timestamp response to always be returned in GMT
Misc
  • Relax go directive to permit 1.22.x
  • Dependabot updates

v1.2.3

Compare Source

Changes

Bug fixes
  • Don't mark hash argument as required in timestamp-cli
Misc
  • Dependabot updates

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@renovate-update-app

renovate-update-app Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Author

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 11 additional dependencies were updated

Details:

Package Change
github.com/hashicorp/go-retryablehttp v0.7.7 -> v0.7.8
github.com/hashicorp/hcl v1.0.1-vault-5 -> v1.0.1-vault-7
github.com/spf13/afero v1.11.0 -> v1.15.0
github.com/spf13/cast v1.7.0 -> v1.10.0
google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 -> v0.0.0-20250603155806-513f23925822
github.com/google/certificate-transparency-go v1.1.8 -> v1.3.2-0.20250507091337-0eddb39e94f8
github.com/jellydator/ttlcache/v3 v3.3.0 -> v3.4.0
github.com/letsencrypt/boulder v0.0.0-20231026200631-000cd05d5491 -> v0.20251110.0
github.com/redis/go-redis/v9 v9.5.1 -> v9.10.0
github.com/sigstore/sigstore v1.8.3 -> v1.10.0
github.com/spf13/viper v1.19.0 -> v1.21.0

@renovate-update-app
renovate-update-app Bot force-pushed the renovate/go-github.com-sigstore-timestamp-authority-vulnerability branch from 971ea19 to 3f38579 Compare October 24, 2026 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants