Every CVE Search/ Get API key

CVE-2024-47534

Incorrect delegation lookups can make go-tuf download the wrong artifact

8.2 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

0.51%Up 0.5 points since Oct 2, 2024
90%50%10%1%

What each source reports

CVE List Score used 8.2

Incorrect delegation lookups can make go-tuf download the wrong artifact

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.

Record
CVE-2024-47534
CVSS 4.0
8.2 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-362
Updated
2026-11-02
EUVDEUVD-2024-2931 8.2

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.

Record
EUVD-2024-2931
CVSS 4.0
8.2 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-4f8r-qqr9-fq8j 8.7

Incorrect delegation lookups can make go-tuf download the wrong artifact

During the ongoing work on the TUF conformance test suite, we have come across a test that reveals what we believe is a bug in go-tuf with security implications. The bug exists in go-tuf delegation tracing and could result in downloading the wrong artifact.

We have come across this issue in the test in this PR: https://github.com/theupdateframework/tuf-conformance/pull/115.

The test - test_graph_traversal - sets up a repository with a series of delegations, invokes the clients refresh() and then checks the order in which the client traced the delegations. The test shows that the go-tuf client inconsistently traces the delegations in a wrong way. For example, during one CI run, the two-level-delegations test case triggered a wrong order. The delegations in this look as such:

"two-level-delegations": DelegationsTestCase(
        delegations=[
            DelegationTester("targets", "A"),
            DelegationTester("targets", "B"),
            DelegationTester("B", "C"),
        ],
        visited_order=["A", "B", "C"],
    ),

Here, targets delegate to "A", and to "B", and "B" delegates to "C". The client should trace the delegations in the order "A" then "B" then "C" but in this particular CI run, go-tuf traced the delegations "B"->"C"->"A".

In a subsequent CI run, this test case did not fail, but another one did.

@jku has done a bit of debugging and believes that the returned map of GetRolesForTarget returns a map that causes this behavior:

https://github.com/theupdateframework/go-tuf/blob/f95222bdd22d2ac4e5b8ed6fe912b645e213c3b5/metadata/metadata.go#L565-L580

We believe that this map should be an ordered list instead of a map.

Record
GHSA-4f8r-qqr9-fq8j
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-362
Updated
2026-11-02
NVD 8.2

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.

Record
CVE-2024-47534
CVSS 4.0
8.2 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-362
Updated
2026-11-02
OSV 8.2

Incorrect delegation lookups can make go-tuf download the wrong artifact

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.

Record
CVE-2024-47534
CVSS 4.0
8.2 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-362
Updated
2026-11-02
OSVGHSA-4f8r-qqr9-fq8j 8.7

Incorrect delegation lookups can make go-tuf download the wrong artifact

During the ongoing work on the TUF conformance test suite, we have come across a test that reveals what we believe is a bug in go-tuf with security implications. The bug exists in go-tuf delegation tracing and could result in downloading the wrong artifact.

We have come across this issue in the test in this PR: https://github.com/theupdateframework/tuf-conformance/pull/115.

The test - test_graph_traversal - sets up a repository with a series of delegations, invokes the clients refresh() and then checks the order in which the client traced the delegations. The test shows that the go-tuf client inconsistently traces the delegations in a wrong way. For example, during one CI run, the two-level-delegations test case triggered a wrong order. The delegations in this look as such:

"two-level-delegations": DelegationsTestCase(
        delegations=[
            DelegationTester("targets", "A"),
            DelegationTester("targets", "B"),
            DelegationTester("B", "C"),
        ],
        visited_order=["A", "B", "C"],
    ),

Here, targets delegate to "A", and to "B", and "B" delegates to "C". The client should trace the delegations in the order "A" then "B" then "C" but in this particular CI run, go-tuf traced the delegations "B"->"C"->"A".

In a subsequent CI run, this test case did not fail, but another one did.

@jku has done a bit of debugging and believes that the returned map of GetRolesForTarget returns a map that causes this behavior:

https://github.com/theupdateframework/go-tuf/blob/f95222bdd22d2ac4e5b8ed6fe912b645e213c3b5/metadata/metadata.go#L565-L580

We believe that this map should be an ordered list instead of a map.

Record
GHSA-4f8r-qqr9-fq8j
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-362
Updated
2026-11-02
Show 5 moreShow less
OSVUBUNTU-CVE-2024-47534 8.2

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.

Record
UBUNTU-CVE-2024-47534
CVSS 4.0
8.2 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
OSVGO-2024-3166 No score

Incorrect delegation lookups can make go-tuf download the wrong artifact in github.com/theupdateframework/go-tuf

Incorrect delegation lookups can make go-tuf download the wrong artifact in github.com/theupdateframework/go-tuf

Record
GO-2024-3166
Updated
2026-11-02
OSVopenSUSE-SU-2024:0350-1 No score

Security update for govulncheck-vulndb

This update for govulncheck-vulndb fixes the following issues:

  • Update to version 0.0.20241104T154416 2024-11-04T15:44:16Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3233 CVE-2024-46872 GHSA-762g-9p7f-mrww
    • GO-2024-3234 CVE-2024-47401 GHSA-762v-rq7q-ff97
    • GO-2024-3235 CVE-2024-50052 GHSA-g376-m3h3-mj4r
    • GO-2024-3237 CVE-2024-0133 GHSA-f748-7hpg-88ch
    • GO-2024-3239 CVE-2024-0132 GHSA-mjjw-553x-87pq
    • GO-2024-3240 CVE-2024-10452 GHSA-66c4-2g2v-54qw
    • GO-2024-3241 CVE-2024-10006 GHSA-5c4w-8hhh-3c3h
    • GO-2024-3242 CVE-2024-10086 GHSA-99wr-c2px-grmh
    • GO-2024-3243 CVE-2024-10005 GHSA-chgm-7r52-whjj
  • Update to version 0.0.20241101T215616 2024-11-01T21:56:16Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3244 CVE-2024-50354 GHSA-cph5-3pgr-c82g
    • GO-2024-3245 CVE-2024-39720
    • GO-2024-3246 CVE-2024-8185 GHSA-g233-2p4r-3q7v
  • Update to version 0.0.20241030T212825 2024-10-30T21:28:25Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3230 CVE-2024-48921 GHSA-qjvc-p88j-j9rm
    • GO-2024-3232 CVE-2024-10241 GHSA-6mvp-gh77-7vwh
  • Update to version 0.0.20241030T160108 2024-10-30T16:01:08Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3226 CVE-2024-47827 GHSA-ghjw-32xw-ffwr
    • GO-2024-3227 CVE-2024-10214 GHSA-hm57-h27x-599c
    • GO-2024-3228 GHSA-wcx9-ccpj-hx3c
  • Packaging improvments:

    • Backfill CVE aliases in recent changelog entries
  • Update to version 0.0.20241028T152002 2024-10-28T15:20:02Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3207 GHSA-p5wf-cmr4-xrwr
    • GO-2024-3208 CVE-2024-47825 GHSA-3wwx-63fv-pfq6
    • GO-2024-3210 CVE-2024-8901
    • GO-2024-3211 CVE-2024-50312
    • GO-2024-3212 GHSA-rjfv-pjvx-mjgv
    • GO-2024-3213 CVE-2024-49380
    • GO-2024-3214 CVE-2024-49381
    • GO-2024-3215 CVE-2024-9264 GHSA-q99m-qcv4-fpm7
    • GO-2024-3216 CVE-2024-49753 GHSA-6cf5-w9h3-4rqv
    • GO-2024-3217 CVE-2024-49757 GHSA-3rmw-76m6-4gjc
    • GO-2024-3219 GHSA-7h65-4p22-39j6
    • GO-2024-3220 CVE-2023-32197 GHSA-7h8m-pvw3-5gh4
    • GO-2024-3221 CVE-2024-22036 GHSA-h99m-6755-rgwc
    • GO-2024-3222 GHSA-x7xj-jvwp-97rv
    • GO-2024-3223 CVE-2022-45157 GHSA-xj7w-r753-vj8v
    • GO-2024-3224 CVE-2024-39223 GHSA-8wxx-35qc-vp6r
  • Update to version 0.0.20241017T153730 date 2024-10-17T15:37:30Z. Refs jsc#PED-11136 Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3189 CVE-2024-38365 GHSA-27vh-h6mc-q6g8
    • GO-2024-3203 CVE-2024-9486
    • GO-2024-3204 CVE-2024-9594

    Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3189 CVE-2024-38365 GHSA-27vh-h6mc-q6g8
    • GO-2024-3196 CVE-2024-47877 GHSA-8rm2-93mq-jqhc
    • GO-2024-3199 GHSA-vv6c-69r6-chg9
    • GO-2024-3200 CVE-2024-48909 GHSA-3c32-4hq9-6wgj
    • GO-2024-3201 CVE-2023-22644 Go CVE Numbering Authority IDs added or updated with aliases:
    • GO-2024-3166 CVE-2024-47534 GHSA-4f8r-qqr9-fq8j
    • GO-2024-3171 CVE-2024-9341 GHSA-mc76-5925-c5p6 Go CVE Numbering Authority IDs added or updated with aliases:
    • GO-2024-3161 CVE-2024-22030 GHSA-h4h5-9833-v2p4
    • GO-2024-3162 CVE-2024-7594 GHSA-jg74-mwgw-v6x3
    • GO-2024-3163 CVE-2024-47182
    • GO-2024-3164 CVE-2024-47003 GHSA-59hf-mpf8-pqjh
    • GO-2024-3166 CVE-2024-47534 GHSA-4f8r-qqr9-fq8j
    • GO-2024-3167 CVE-2024-9355 GHSA-3h3x-2hwv-hr52
    • GO-2024-3168 CVE-2024-8975 GHSA-chqx-36rm-rf8h
    • GO-2024-3169 CVE-2024-9407 GHSA-fhqq-8f65-5xfc
    • GO-2024-3170 CVE-2024-8996 GHSA-m5gv-m5f9-wgv4
    • GO-2024-3172 CVE-2024-33662 GHSA-9mjw-79r6-c9m8
    • GO-2024-3173 CVE-2024-7558 GHSA-mh98-763h-m9v4
    • GO-2024-3174 CVE-2024-8037 GHSA-8v4w-f4r9-7h6x
    • GO-2024-3175 CVE-2024-8038 GHSA-xwgj-vpm9-q2rq
    • GO-2024-3179 CVE-2024-47616 GHSA-r7rh-jww5-5fjr
    • GO-2024-3181 CVE-2024-9313 GHSA-x5q3-c8rm-w787
    • GO-2024-3182 GHSA-wpr2-j6gr-pjw9 *…
Record
openSUSE-SU-2024:0350-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14447-1 No score

govulncheck-vulndb-0.0.20241030T212825-1.1 on GA media

These are all security issues fixed in the govulncheck-vulndb-0.0.20241030T212825-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14447-1
Updated
2026-11-02
OSVSUSE-SU-2024:3911-1 No score

Security update for govulncheck-vulndb

This update for govulncheck-vulndb fixes the following issues:

Update to version 0.0.20241030T212825 2024-10-30T21:28:25Z ( jsc#PED-11136 )

  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3230 CVE-2024-48921 GHSA-qjvc-p88j-j9rm
    • GO-2024-3232 CVE-2024-10241 GHSA-6mvp-gh77-7vwh
  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3226 CVE-2024-47827 GHSA-ghjw-32xw-ffwr
    • GO-2024-3227 CVE-2024-10214 GHSA-hm57-h27x-599c
    • GO-2024-3228 GHSA-wcx9-ccpj-hx3c
  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3207 GHSA-p5wf-cmr4-xrwr
    • GO-2024-3208 CVE-2024-47825 GHSA-3wwx-63fv-pfq6
    • GO-2024-3210 CVE-2024-8901
    • GO-2024-3211 CVE-2024-50312
    • GO-2024-3212 GHSA-rjfv-pjvx-mjgv
    • GO-2024-3213 CVE-2024-49380
    • GO-2024-3214 CVE-2024-49381
    • GO-2024-3215 CVE-2024-9264 GHSA-q99m-qcv4-fpm7
    • GO-2024-3216 CVE-2024-49753 GHSA-6cf5-w9h3-4rqv
    • GO-2024-3217 CVE-2024-49757 GHSA-3rmw-76m6-4gjc
    • GO-2024-3219 GHSA-7h65-4p22-39j6
    • GO-2024-3220 CVE-2023-32197 GHSA-7h8m-pvw3-5gh4
    • GO-2024-3221 CVE-2024-22036 GHSA-h99m-6755-rgwc
    • GO-2024-3222 GHSA-x7xj-jvwp-97rv
    • GO-2024-3223 CVE-2022-45157 GHSA-xj7w-r753-vj8v
    • GO-2024-3224 CVE-2024-39223 GHSA-8wxx-35qc-vp6r
  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3189 CVE-2024-38365 GHSA-27vh-h6mc-q6g8
    • GO-2024-3203 CVE-2024-9486
    • GO-2024-3204 CVE-2024-9594
  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3189 CVE-2024-38365 GHSA-27vh-h6mc-q6g8
    • GO-2024-3196 CVE-2024-47877 GHSA-8rm2-93mq-jqhc
    • GO-2024-3199 GHSA-vv6c-69r6-chg9
    • GO-2024-3200 CVE-2024-48909 GHSA-3c32-4hq9-6wgj
    • GO-2024-3201 CVE-2023-22644
  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3166 CVE-2024-47534 GHSA-4f8r-qqr9-fq8j
    • GO-2024-3171 CVE-2024-9341 GHSA-mc76-5925-c5p6
  • Go CVE Numbering Authority IDs added or updated with aliases:

    • GO-2024-3161 CVE-2024-22030 GHSA-h4h5-9833-v2p4
    • GO-2024-3162 CVE-2024-7594 GHSA-jg74-mwgw-v6x3
    • GO-2024-3163 CVE-2024-47182
    • GO-2024-3164 CVE-2024-47003 GHSA-59hf-mpf8-pqjh
    • GO-2024-3166 CVE-2024-47534 GHSA-4f8r-qqr9-fq8j
    • GO-2024-3167 CVE-2024-9355 GHSA-3h3x-2hwv-hr52
    • GO-2024-3168 CVE-2024-8975 GHSA-chqx-36rm-rf8h
    • GO-2024-3169 CVE-2024-9407 GHSA-fhqq-8f65-5xfc
    • GO-2024-3170 CVE-2024-8996 GHSA-m5gv-m5f9-wgv4
    • GO-2024-3172 CVE-2024-33662 GHSA-9mjw-79r6-c9m8
    • GO-2024-3173 CVE-2024-7558 GHSA-mh98-763h-m9v4
    • GO-2024-3174 CVE-2024-8037 GHSA-8v4w-f4r9-7h6x
    • GO-2024-3175 CVE-2024-8038 GHSA-xwgj-vpm9-q2rq
    • GO-2024-3179 CVE-2024-47616 GHSA-r7rh-jww5-5fjr
    • GO-2024-3181 CVE-2024-9313 GHSA-x5q3-c8rm-w787
    • GO-2024-3182 GHSA-wpr2-j6gr-pjw9
    • GO-2024-3184 CVE-2024-36814 GHSA-9cp9-8gw2-8v7m
    • GO-2024-3185 CVE-2024-47832
    • GO-2024-3186 CVE-2024-9675 GHSA-586p-749j-fhwp
    • GO-2024-3188 CVE-2024-9312 GHSA-4gfw-wf7c-w6g2
    • GO-2024-3190 CVE-2024-47067 GHSA-8pph-gfhp-w226
    • GO-2024-3191 CVE-2024-9180 GHSA-rr8j-7w34-xp5j
Record
SUSE-SU-2024:3911-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/theupdateframework/go-tuf/v2
Go
before 2.0.1
2.0.1
govulncheck-vulndb
SUSE:Linux Enterprise Module for Package Hub 15 SP5
From an advisory covering 44 CVEs
before 0.0.20241030T212825-150000.1.9.1
0.0.20241030T212825-150000.1.9.1
govulncheck-vulndb
SUSE:Linux Enterprise Module for Package Hub 15 SP6
From an advisory covering 44 CVEs
before 0.0.20241030T212825-150000.1.9.1
0.0.20241030T212825-150000.1.9.1
govulncheck-vulndb
openSUSE:Leap 15.5
From an advisory covering 44 CVEs
before 0.0.20241030T212825-150000.1.9.1
0.0.20241030T212825-150000.1.9.1
govulncheck-vulndb
openSUSE:Leap 15.6
From an advisory covering 44 CVEs
before 0.0.20241030T212825-150000.1.9.1
0.0.20241030T212825-150000.1.9.1
golang-github-endophage-gotuf
Ubuntu:16.04:LTS
All versions, plus listed versions
0.0~git20150904.0.9bcdad0-10.0~git20151020.0.2df1c8e-1
None known
golang-github-endophage-gotuf
Ubuntu:18.04:LTS
All versions, plus listed versions
0.0~git20151020.0.2df1c8e-1
None known
govulncheck-vulndb
SUSE:Package Hub 12
From an advisory covering 56 CVEs
before 0.0.20241104T154416-5.1
0.0.20241104T154416-5.1
govulncheck-vulndb
openSUSE:Tumbleweed
From an advisory covering 44 CVEs
before 0.0.20241030T212825-1.1
0.0.20241030T212825-1.1

History

History
RecordedChangedSources
affected, facts
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-47534 is a high vulnerability (CVSS 8.2) in Theupdateframework Go-tuf, published October 1, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.51%, the 43rd percentile. Fixed in github.com/theupdateframework/go-tuf/v2 2.0.1.

References

Show 65 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open