Cloudanix VulnDB

CVE-2024-47534

None

CVSS

—

EPSS

0.5%

Published

Oct 1, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in how update-checking software follows a chain of trust could let attackers slip in bad updates without being caught.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Tampering
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The go-tuf client processes delegation chains in an inconsistent order, allowing a chain such as A then B then C to be evaluated as B then C then A and thereby violating intended delegation constraints.

Why it matters to the business

Organizations relying on TUF-protected software updates risk accepting unauthorized or tampered artifacts, which can undermine the integrity of their software supply chain and increase exposure to downstream compromise.

How an attack unfolds

An attacker publishes a malicious TUF repository containing carefully ordered delegations that trigger the client's ordering bug, causing the client to skip required verification steps and accept an update that should have been rejected.

How to fix it

Upgrade theupdateframework/go-tuf to commit 6c47391ef3da3eac29e7b019da00e072303bd748 or later (equivalent to release 2.0.1). For the XWiki livedata-macro component, upgrade to 13.10.10, 14.4.7, or 14.9 as appropriate.

How to confirm the fix worked

Inventory all direct and transitive uses of go-tuf, confirm the resolved version meets or exceeds the fixed release, and run the project's test suite with delegation-chain test cases to verify correct ordering behavior.

Typical attack path

  1. Locate an application or build system that consumes updates via the vulnerable go-tuf client
  2. Host a malicious TUF repository that uses a delegation topology exploiting the ordering inconsistency
  3. Serve a crafted update whose metadata bypasses intended delegation checks
  4. Induce the target client to fetch and validate the update, resulting in acceptance of the malicious artifact

How to detect it

Review update-client logs for delegation-processing sequences, compare observed delegation order against expected repository metadata, and correlate any anomalous acceptances of updates with client version information.

What your security team should do

  • Treat the dependency upgrade as a high-priority supply-chain hardening task
  • Add go-tuf to automated dependency scanning with a minimum-version policy
  • Review internal update pipelines that rely on TUF to ensure delegation rules remain effective after the upgrade

The record

go-tuf is a Go implementation of The Update Framework (TUF). The go-tuf client inconsistently traces the delegations. For example, if targets delegate to "A", and to "B", and "B" delegates to "C", then the client should trace the delegations in the order "A" then "B" then "C" but it may incorrectly trace the delegations "B"->"C"->"A". This vulnerability is fixed in 2.0.1.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/theupdateframework/go-tuf/v2 0 2.0.1
Chainguard aactl 0 0.4.12-r37
Chainguard apko 0 0.30.20-r0
Chainguard chainctl 0 0.2.59-r0
Chainguard cosign 0 3.0.2-r1
Chainguard cosign-fips 0 2.4.0-r4
Chainguard cosign-fips 0 3.0.2-r1
Chainguard docker-credential-cgr 0 0.2.59-r0
Chainguard falcoctl 0 0.11.4-r1
Chainguard falcoctl-fips 0 0.11.4-r1
Chainguard flux-source-controller 0 1.7.3-r0
Chainguard flux-source-controller-fips 0 1.7.3-r1
Chainguard flux-source-controller-iamguarded-compat 0 1.7.3-r0
Chainguard gh 0 2.83.0-r0
Chainguard gh-doc 0 2.83.0-r0
Chainguard gitsign 0 0.13.0-r5
Chainguard gitsign-config 0 0.13.0-r5
Chainguard gitsign-credential-cache 0 0.13.0-r5
Chainguard kubescape 0 3.0.18-r0
Chainguard kyverno-1.12 0 1.12.7-r22
Chainguard kyverno-background-controller-1.12 0 1.12.7-r22
Chainguard kyverno-background-controller-fips-1.12 0 1.12.7-r25
Chainguard kyverno-cleanup-controller-1.12 0 1.12.7-r22
Chainguard kyverno-cleanup-controller-fips-1.12 0 1.12.7-r25
Chainguard kyverno-cli-1.12 0 1.12.7-r22
Chainguard kyverno-cli-fips-1.12 0 1.12.7-r25
Chainguard kyverno-fips-1.12 0 1.12.7-r25
Chainguard kyverno-init-container-1.12 0 1.12.7-r22
Chainguard kyverno-init-container-fips-1.12 0 1.12.7-r25
Chainguard kyverno-reports-controller-1.12 0 1.12.7-r22
Chainguard kyverno-reports-controller-fips-1.12 0 1.12.7-r25
Chainguard melange 0 0.32.0-r1
Chainguard neuvector-sigstore-interface 0 0_git20250629-r4
Chainguard neuvector-sigstore-interface-fips 0 0_git20251020-r1
Chainguard policy-controller 0 0.9.0-r10
Chainguard policy-controller-fips 0 0.13.1-r1
Chainguard policy-controller-tester 0 0.9.0-r10
Chainguard policy-controller-tester-fips 0 0.13.1-r1
Chainguard policy-controller-webhook 0 0.9.0-r10
Chainguard rekor 0 1.3.6-r9
Chainguard rekor-backfill-index 0 1.3.6-r9
Chainguard rekor-backfill-redis 0 1.3.6-r9
Chainguard rekor-cli 0 1.3.6-r9
Chainguard rekor-fips 0 1.4.2-r1
Chainguard rekor-fips-backfill-index 0 1.4.2-r1
Chainguard rekor-fips-cli 0 1.4.2-r1
Chainguard rekor-fips-server 0 1.4.2-r1
Chainguard rekor-server 0 1.3.6-r9
Chainguard sigstore-scaffolding 0 0.7.25-r1
Chainguard sigstore-scaffolding-cloudsqlproxy 0 0.7.25-r1
Chainguard sigstore-scaffolding-ctlog-createctconfig 0 0.7.25-r1
Chainguard sigstore-scaffolding-ctlog-managectroots 0 0.7.25-r1
Chainguard sigstore-scaffolding-ctlog-verifyfulcio 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips-cloudsqlproxy 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-ctlog-createctconfig 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-ctlog-managectroots 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-ctlog-verifyfulcio 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-fulcio-createcerts 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips-getoidctoken 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips-rekor-createsecret 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-trillian-createdb 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-trillian-createtree 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips-trillian-updatetree 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips-tsa-createcertchain 0 0.7.26-r0
Chainguard sigstore-scaffolding-fips-tuf-createsecret 0 0.7.25-r1
Chainguard sigstore-scaffolding-fips-tuf-server 0 0.7.25-r1
Chainguard sigstore-scaffolding-fulcio-createcerts 0 0.7.25-r1
Chainguard sigstore-scaffolding-getoidctoken 0 0.7.25-r1
Chainguard sigstore-scaffolding-rekor-createsecret 0 0.7.25-r1
Chainguard sigstore-scaffolding-trillian-createdb 0 0.7.25-r1
Chainguard sigstore-scaffolding-trillian-createtree 0 0.7.25-r1
Chainguard sigstore-scaffolding-trillian-updatetree 0 0.7.25-r1
Chainguard sigstore-scaffolding-tsa-createcertchain 0 0.7.25-r1
Chainguard sigstore-scaffolding-tuf-createsecret 0 0.7.25-r1
Chainguard sigstore-scaffolding-tuf-server 0 0.7.26-r0
Chainguard slsa-verifier 0 2.7.1-r3
Chainguard spire-agent 0 1.13.3-r0
Chainguard spire-agent-fips 0 1.13.3-r1
Chainguard spire-oidc-discovery-provider 0 1.13.3-r0
Chainguard spire-oidc-discovery-provider-fips 0 1.13.3-r1
Chainguard spire-server 0 1.13.3-r0
Chainguard spire-server-fips 0 1.13.3-r1
Chainguard tekton-chains 0 0.26.0-r0
Chainguard tekton-chains-fips 0 0.22.2-r0
Chainguard tkn 0 0.42.0-r3
Chainguard tkn-fips 0 0.42.0-r3
Chainguard trivy 0 0.67.2-r1
Chainguard trivy-fips 0 0.67.2-r1
Chainguard vexctl 0 0.4.1-r1
Chainguard wolfictl 0 0.38.21-r0
Chainguard zarf 0 0.65.1-r1
Chainguard zot 0 2.1.1-r3
SUSE:Linux Enterprise Module for Package Hub 15 SP5 govulncheck-vulndb 0 0.0.20241030T212825-150000.1.9.1
SUSE:Linux Enterprise Module for Package Hub 15 SP6 govulncheck-vulndb 0 0.0.20241030T212825-150000.1.9.1
SUSE:Package Hub 12 govulncheck-vulndb 0 0.0.20241104T154416-5.1
Ubuntu:16.04:LTS golang-github-endophage-gotuf 0 No fix
Ubuntu:18.04:LTS golang-github-endophage-gotuf 0 No fix
Ubuntu:Pro:16.04:LTS golang-github-endophage-gotuf 0 No fix
Ubuntu:Pro:18.04:LTS golang-github-endophage-gotuf 0 No fix
Wolfi aactl 0 0.4.12-r37
Wolfi apko 0 0.30.20-r0
Wolfi cosign 0 3.0.2-r1
Wolfi cosign-fips 0 3.0.2-r1
Wolfi falcoctl 0 0.11.4-r1
Wolfi flux-source-controller 0 1.7.3-r0
Wolfi flux-source-controller-iamguarded-compat 0 1.7.3-r0
Wolfi gh 0 2.83.0-r0
Wolfi gh-doc 0 2.83.0-r0
Wolfi gitsign 0 0.13.0-r5
Wolfi gitsign-config 0 0.13.0-r5
Wolfi gitsign-credential-cache 0 0.13.0-r5
Wolfi kubescape 0 3.0.18-r0
Wolfi kyverno-1.12 0 1.12.7-r22
Wolfi kyverno-background-controller-1.12 0 1.12.7-r22
Wolfi kyverno-cleanup-controller-1.12 0 1.12.7-r22
Wolfi kyverno-cli-1.12 0 1.12.7-r22
Wolfi kyverno-init-container-1.12 0 1.12.7-r22
Wolfi kyverno-reports-controller-1.12 0 1.12.7-r22
Wolfi melange 0 0.32.0-r1
Wolfi neuvector-sigstore-interface 0 0_git20250629-r4
Wolfi policy-controller 0 0.9.0-r10
Wolfi policy-controller-tester 0 0.9.0-r10
Wolfi policy-controller-webhook 0 0.9.0-r10
Wolfi rekor 0 1.3.6-r9
Wolfi rekor-backfill-index 0 1.3.6-r9
Wolfi rekor-backfill-redis 0 1.3.6-r9
Wolfi rekor-cli 0 1.3.6-r9
Wolfi rekor-server 0 1.3.6-r9
Wolfi sigstore-scaffolding 0 0.7.25-r1
Wolfi sigstore-scaffolding-cloudsqlproxy 0 0.7.25-r1
Wolfi sigstore-scaffolding-ctlog-createctconfig 0 0.7.25-r1
Wolfi sigstore-scaffolding-ctlog-managectroots 0 0.7.25-r1
Wolfi sigstore-scaffolding-ctlog-verifyfulcio 0 0.7.25-r1
Wolfi sigstore-scaffolding-fulcio-createcerts 0 0.7.25-r1
Wolfi sigstore-scaffolding-getoidctoken 0 0.7.25-r1
Wolfi sigstore-scaffolding-rekor-createsecret 0 0.7.25-r1
Wolfi sigstore-scaffolding-trillian-createdb 0 0.7.25-r1
Wolfi sigstore-scaffolding-trillian-createtree 0 0.7.25-r1
Wolfi sigstore-scaffolding-trillian-updatetree 0 0.7.25-r1
Wolfi sigstore-scaffolding-tsa-createcertchain 0 0.7.25-r1
Wolfi sigstore-scaffolding-tuf-createsecret 0 0.7.25-r1
Wolfi sigstore-scaffolding-tuf-server 0 0.7.26-r0
Wolfi slsa-verifier 0 2.7.1-r3
Wolfi spire-agent 0 1.13.3-r0
Wolfi spire-oidc-discovery-provider 0 1.13.3-r0
Wolfi spire-server 0 1.13.3-r0
Wolfi tekton-chains 0 0.26.0-r0
Wolfi tkn 0 0.42.0-r3
Wolfi trivy 0 0.67.2-r1
Wolfi vexctl 0 0.4.1-r1
Wolfi wolfictl 0 0.38.21-r0
Wolfi zarf 0 0.65.1-r1
Wolfi zot 0 2.1.1-r3
openSUSE:Leap 15.5 govulncheck-vulndb 0 0.0.20241030T212825-150000.1.9.1
openSUSE:Leap 15.6 govulncheck-vulndb 0 0.0.20241030T212825-150000.1.9.1
openSUSE:Tumbleweed govulncheck-vulndb 0 0.0.20241030T212825-1.1

Related vulnerabilities